De:UrlRedirector

Aus YaCyWiki
Wechseln zu: Navigation, Suche

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.

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