Seite 1 von 1

Web Scraping komplette Domain

Verfasst: Mittwoch 18. August 2021, 12:54
von has
Hallo,

mein Script durchsucht Webseiten auf bestimmte Wörter. Ich nutze requests, beautiful soup und re. Soweit so gut.

Wie bekomme ich es hin, dass nicht nur die URL, die ich einlese/eintrage, z.B. www. python-forum.de, durchsucht wird, sondern auch alle mit dieser Domain verbundenen Webseiten, also alle Unter-URLs?

Ich habe bereits viel recherchiert, aber nichts brauchbares gefunden. :(

Danke und VG
HAS

Re: Web Scraping komplette Domain

Verfasst: Mittwoch 18. August 2021, 13:05
von __deets__
Alle links einfach wieder dem crawler vorwerfen. Oder einfach wget benutzen, das kann mirroring, und das Resultat dann auf dateiebene durchforsten.

Re: Web Scraping komplette Domain

Verfasst: Mittwoch 18. August 2021, 13:29
von has
Danke, den ersten Satz verstehe ich nicht. Wie soll ich die Links wieder vorworfen?

Ich habe mir beispielhaft bereits mit WINHTT eine komplette Webseite gespiegelt, hatte aber die Hoffnung, dass es einfacher geht, als alle Links einzeln im Script aufzurufen, sondern direkt im Code eine, sagen wir mal, "Durchschau" der Webseite zu programmieren.

Re: Web Scraping komplette

Verfasst: Mittwoch 18. August 2021, 13:33
von __deets__
Ich habe schon verstanden, was du willst. Und einfacher als alle links abzurufen gehts nicht. Das ist genau das, was man machen muss.

Und wenn du eine Webseite mit BS verarbeitet, dann kannst du doch einfach alle href Attribute und Ähnliches abfragen, und die dann wieder mit requests Laden, und weiter geht das Spiel. Dabei zu beachten:

- links die von der Seite wegführen ignorieren.
- relative links zur aktuellen URL auflösen.
- schon besuchte links ignorieren.

Re: Web Scraping komplette Domain

Verfasst: Mittwoch 18. August 2021, 14:49
von DasIch
Wenn du ernsthaft Scraping betreiben möchtest lass den requests und BeautifulSoup Kram sein, wird zwar häufig hier im Forum erwähnt zwingt dich aber dazu erstmal das Rad neu zu erfinden. Das ist vollkommen unsinnig und Zeitverschwendung.

Es gibt Frameworks für sowas wie Scrapy die kümmern sich um diese Grundlegenden Dinge, z.B. folgen von Links einschliesslich der von __deets__ genannten Punkte und weiteren Dingen und du kannst dich dann aufs wesentliche konzentrieren.