2013-06-27 9 views
8

Ich versuche, alle Links einer sitemap.xml zu crawlen, um eine Website neu zu cachen. Aber die rekursive Option von wget funktioniert nicht, ich bekomme nur als Antwort:Crawl Links von sitemap.xml über wget Befehl

Remote-Datei existiert, enthält aber keine Verbindung - nicht abrufen.

Aber sicher ist die sitemap.xml voll von "http: // ..." Links.

versuchte ich fast jede Möglichkeit, wget, aber nichts für mich gearbeitet:

wget -r --mirror http://mysite.com/sitemap.xml 

Hat jemand weiß, wie alle Links zu öffnen innerhalb einer Website sitemap.xml?

Danke, Dominic

Antwort

10

Es scheint, dass wget nicht XML analysieren kann. Also müssen Sie die Links manuell extrahieren. Man könnte so etwas tun:

wget --quiet http://www.mysite.com/sitemap.xml --output-document - | egrep -o "https?://[^<]+" | wget -i - 

ich diesen Trick gelernt here.

+1

Wie kann ich jeden heruntergeladenen HTML-Dateinamen auf den Titel der Seite einstellen? Im Moment ist alles nur index.html, index.html.1, index.html.2 etc. – user2028856

+0

würde gerne eine Ausarbeitung zu diesem Thema, dass viele Kinder in der XML-Dateistruktur ... jemand? Das ist aber nett! Vielen Dank! – lcm

+0

Ich habe die Sitemap im GZ-Format, wie sollte ich URLs davon besuchen. – StarWars