De:UrlRedirector
Eine gute Möglichkeit um eine Liste an URLs regelmäßig zeitgesteuert zu Crawlen ist über die Verwendung (und Zweckentfremdung ) des urlRedirector Skripts (Ab SVN Rev. 1298)
Dazu geht man folgendermaßen vor.
Inhaltsverzeichnis
UrlRedirector Skript Konfiguration
Zunächst muß am Begin des Perl Skripts die Verbindungs-Daten des Peers angepaßt werden.
# setting administrator username + pwd, hostname + port my $user = "username"; # must be available in the userDB my $pwd = "userpwd"; # password from the user db my $host = "localhost"; # peer address or ip my $port = "8090"; # peer port
Zu beachten ist, daß der Benutzer in der YaCy User-DB, angelegt sein muß (vgl. http://localhost:8090/User_p.html). Eine Aktivierung der UserDB (vgl. http://localhost:8090/Settings_p.html?page=ProxyAccess) ist allerdings nicht erforderlich.
Das angesprochene Skript befindet sich im Verzeichnis:
/source/de/anomic/urlRedirector/urlRedirector.pl
Wenn cgi oder dynamic URLs ebenfalls gecrawlt werden sollen, muß das Skript noch folgendermaßen angepaßt werden:
my $allowCgi = 1; my $allowPost = 1;
Anpassung der Parser Einstellungen für den UrlRedirector
Danach sollten unter http://localhost:8090/Settings_p.html?page=parser alle vom UrlRedirector zu parsenden MimeTypes aktiviert werden.
Anmerkung: Zum Crawlen von RSS-Feeds (z.B. RecentChange RSS Feeds von Wikis) sollten die Optionen
MimeType Parser V0.1 [x] text/xml [x] application/xml Rich Site Summary/Atom Feed Parser V0.1 [x] application/atom+xml [x] text/rss [x] application/rss+xml [x] application/rdf+xml
für den UrlRedirector sowie für den Crawler (da die vom urlRedirector übernommenen URLs dann vom Crawler gecrawlt werden) aktiviert sein. Für den Download von html Seiten ist keine explizite Aktivierung eines Parsers erforderlich.
Erstellung eines Textfiles mit den zu crawlenden URLs
DEPTH 1 CRAWLDYNAMIC true http://www.heise.de/newsticker/meldung/68090 EXIT
Achtung
Zeile 1: | DEPTH 1 bewirkt das setzen der Crawling Tiefe auf 1. Dies sollte z.B. verwendet werden wenn die RecentChanged RSS-Feeds von Wikis gecrawlt werden, um auch alle im Wiki geänderten Seiten zu erfassen.
|
Zeile 2: | CRAWLDYNAMIC true bewirkt daß auch dynamische URLs (also URLs mit ?paramname=paramvalue) erlaubt sind.
|
Zeile n: | EXIT ist notwendig um die Verbindung zum YaCy Peer wieder abzubauen.
|
Zeile 3 bis n-1: | Dazwischen kann eine Liste der URLs angeführt werden die gecrawlt werden sollen. |
Ausführen des Skripts
Folgendes Kommando kann via Cron-Job gestartet werden um die im Textfile angeführten URLs regelmäßig zu crawlen:
cat urls.txt | ./source/de/anomic/urlRedirector/urlRedirector.pl
Logging Ausgabe - Beispiel
D 2006/01/09 11:03:58 URL-REDIRECTOR Changing crawling depth to '1 D 2006/01/09 11:03:58 URL-REDIRECTOR Changing crawl dynamic setting to 'true' D 2006/01/09 11:03:58 URL-REDIRECTOR Receiving request http://www.heise.de/newsticker/meldung/68090 D 2006/01/09 11:03:59 STACKCRAWL stackCrawl: nexturlString='http://www.heise.de/newsticker/meldung/68090' D 2006/01/09 11:04:00 URL-REDIRECTOR Connection terminated
Links
- http://www.yacy-forum.de/viewtopic.php?t=1574#14805 Artikel im Forum