Web-Crawler, mit dem Sie die Tiefe der verknüpften Domänen angeben können

Ich möchte jede Datei (über HTTP, HTTPS und FTP, HTML, PHP wie geliefert, JS, CSS, verlinktes PDF, Bilder) von einer Domain, ihren Subdomains, jeder von den zuvor genannten Seiten verlinkten Domain und deren Subdomains herunterladen.

Falls unklar ist, was genau ich erwarte, habe ich ein Beispiel bereitgestellt, in dem ich alles außer Inhalten von "unrelated.com" haben möchte. Ich konnte keinen Crawler finden, der mir das ermöglicht.

Beispiel

Ich würde einen Linux-Befehlszeilen-Crawler bevorzugen, den ich von meinem VPS aus ausführen kann. Ich könnte mit Linux + GUI leben, aber ich habe kein Windows, Android oder ein Apple-Gerät / Betriebssystem.

Eine Software, die die Links pro Seite in einer leicht zu analysierenden Liste ausgibt, würde auch ausreichen, dann könnte ich ein Shell-Skript schreiben, um auszuwählen, welcher Link heruntergeladen werden soll.

Das Ändern der Links im HTML-Code (insbesondere derjenigen, die auf andere Domänen verweisen) auf meine dann lokalen Dateien, wäre nett, ist aber nicht notwendig.

Haben Sie sich wgetdie Spiegelungsoptionen angesehen? Denken Sie, dass es das meiste von dem tun kann, was Sie verlangen, und es sollte bereits auf den meisten Linux-Systemen installiert sein.

Antworten (1)

Die Python -Scrapy- Bibliothek kann genau das tun, wonach Sie suchen:

  • Keine GUI Sie können interaktiv innerhalb einer Python- oder Ipython-Shell ausführen oder ein Skript schreiben.
  • Speichern Sie alle Daten der besuchten Seiten
  • Tiefenbegrenzung
  • Ratenbegrenzung , um nicht gekickt oder gesperrt zu werden
  • Crawlen Sie eine einzelne oder verknüpfte Sites
  • Filtern Sie Websites, die Sie nicht crawlen möchten

Scrapy & Python sind kostenlose, quelloffene, plattformübergreifende Tools.