2011-01-06 5 views
2

Ich entwickle ein System, das den Inhalt von wenigen Portalen verfolgen und Änderungen jede Nacht überprüfen muss (zum Beispiel neue Seiten herunterladen und indizieren, die tagsüber hinzugefügt wurden). Der Inhalt dieser Portale wird für die Suche indiziert. Das Problem besteht darin, diese Portale neu zu crawlen - das erste Crawlen des Portals dauert sehr lange (Beispiele für Portale: www.onet.pl, www.bankier.pl, www.gazeta.pl) und ich möchte es schneller re-crawlen (So ​​schnell wie es möglich ist) zum Beispiel durch Überprüfung Datum der Änderung, aber ich habe wget verwendet, um www.bankier.pl herunterladen, aber als Antwort beschwert es sich, dass es keine Last-Modifikationsheader gibt. Gibt es eine Möglichkeit, so viele Websites erneut zu crawlen? Ich habe auch versucht, Nutch zu verwenden, aber das Skript zum Re-Clawing scheint nicht richtig zu funktionieren - oder es hängt auch von diesen Headern ab (zuletzt modifiziert). Vielleicht gibt es ein Tool, Crawler (wie Nutch oder sowas), das bereits heruntergeladene Seiten aktualisieren kann, indem man neue hinzufügt ??Webseiten schnell re-crawlen

Mit freundlichen Grüßen, Wojtek

Antwort

0

Für Nutch, ich habe einen Blog-Post auf how to re-crawl with Nutch geschrieben. Grundsätzlich sollten Sie für die Einstellung db.fetch.interval.default einen niedrigen Wert einstellen. Beim nächsten Abruf einer URL verwendet Nutch die letzte Abrufzeit als Wert für den HTTP-Header If-Modified-Since.

+0

Nicht alle Websites haben 'If-Modified-Since'. Sehen Sie sich auch "Last-Modified" an, um zu helfen. –

1

Ich empfehle, curl zu verwenden, um nur den Kopf abzurufen und zu überprüfen, ob sich der Last-Modified-Header geändert hat.

Beispiel:

curl --head www.bankier.pl