2010-10-16 7 views

Antwort

30
wget --spider --recursive --no-verbose --output-file=wgetlog.txt http://somewebsite.com 
sed -n "[email protected]\+ URL:\([^ ]\+\) .\[email protected]\[email protected]" wgetlog.txt | sed "[email protected]&@\&@" > sedlog.txt 

Dies erzeugt eine Datei sedlog.txt genannt, die alle Links auf der angegebenen Website enthält. Sie können PHP oder ein Shell-Skript verwenden, um die Textdatei-Sitemap in eine XML-Sitemap zu konvertieren. Verändern Sie die Parameter des wget-Befehls (accept/reject/include/exclude), um nur die benötigten Links zu erhalten.

+0

+1 Konnte es nicht so verwenden, da es mir eine Reihe von Fehlern gab (wahrscheinlich wegen verschiedener wget/sed-Versionen). Aber sobald ich ein paar Verbesserungen vorgenommen hatte, funktionierte es wie ein Zauber. Vielen Dank! – Julian

+2

Sie sollten eine kleine Verzögerung zwischen Anfragen hinzufügen, indem Sie '--wait = 1' verwenden, da dies die Leistung der Site beeinträchtigen könnte. – Liam

1

können Sie diesen Perl-Skript verwenden, den Trick zu tun:

+0

Es wird durch Scannen des Dateisystems generiert, aber nicht "kriechen". Die Seiten, die ich spinnen möchte, sind dynamisch. –

Verwandte Themen