Verwendung von wget parallel, da es nicht multithreading ist

414
David Strejc

Ich muss rund 1M Webseiten herunterladen. Ich habe ihre direkten URLs (in der Datenbank, aber ich kann sie an anderer Stelle in jede Art von Speicher, Datenbank oder Datei einfügen).

Ich habe wget ausprobiert, aber ich möchte wget nicht in den Hintergrund stellen und mit einem Kontrollskript umwickeln, das die Anzahl der Prozesse steuert, sodass ich meinen Crawler-Server nicht durcheinanderbringe.

Ich habe gelesen, dass der BUbiNG-Crawler 1200 Anforderungen pro Sekunde für eine einzelne Box ausführen kann und als Crawler konzipiert ist, sodass er URLs zwischen Threads weitergibt. Ich möchte das nicht - ich habe bereits direkte URLs.

Ich muss Weiterleitungen folgen, da ich nur Domänen ohne Wissen habe, wenn Weiterleitungen zu folgen sind.

Irgendwelche Tipps, Ratschläge oder heiße Wege, um das zu lösen? Soll ich dafür meine eigene Software schreiben (ich möchte das Rad nicht neu erfinden, wie ich es gesagt habe).

BEARBEITEN: Entschuldigung für "Meinungs" -basierte Lösung - Ich wollte nicht, dass dieses Thema auf einer Meinung basiert.

Ich habe die beste und eleganteste Lösung gefunden mit:

parallel 

Befehlszeilenprogramm. Jetzt kann ich wget parallel verwenden und das war der schnellste und einfachste Weg.

0
Kannst du `curl` verwenden? Aulis Ronkainen vor 5 Jahren 1
wget ist schneller als curl und ich kann natürlich curl verwenden. Gibt es einen Hinweis, wie man curl für eine so große Anzahl von URLs verwendet? Ich möchte sie so oft überprüfen, wie ich es kann. Ich baue einen nationalen Katalog von Websites. David Strejc vor 5 Jahren 0
Ja, okey. Ich habe nicht die Performance-Nummern von "curl" und "wget". Ich dachte nur, es wäre schnell genug. Was ist Ihre Anforderung, wie schnell es sein soll? Ich fürchte, Sie müssen Ihre eigene Rolle spielen, weil wahrscheinlich keine geeignete Software für Ihre Zwecke verfügbar ist. Aulis Ronkainen vor 5 Jahren 0
Bitte entfernen Sie Ihre Bearbeitung und geben Sie diese in eine Antwort ein. Jan Doggen vor 5 Jahren 0

0 Antworten auf die Frage