2013-06-27 36 views
8

sitemap.xmlのすべてのリンクをクロールして、ウェブサイトを再キャッシュしようとしました。しかし、wgetの再帰オプションは機能しません。応答としてのみ取得します。sitemap.xmlからwgetコマンドまでのクロールリンク

リモートファイルは存在しますが、リンクは含まれていません。

しかし、確かにsitemap.xmlには "http:// ..."リンクがいっぱいです。

私は、wgetコマンドのほぼすべてのオプションを試してみましたが、何も私のために働いていない:

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

は、誰もがウェブサイトのsitemap.xmlとの内側にすべてのリンクを開く方法を知っていますか?

おかげで、 ドミニク

答えて

10

wgetは、XMLを解析することができないようです。リンクを手動で抽出する必要があります。

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

私はこのトリックhereを知りました。

+1

ダウンロードした各ファイル名をページのタイトルに設定するにはどうすればよいですか?今はすべてがindex.html、index.html.1、index.html.2などです。 – user2028856

+0

は、XMLファイル構造の多くの子供たちのためにこのことを詳しく説明したいと思います...誰ですか?これは素晴らしいです!ありがとうございました! – lcm

+0

私はgz形式のサイトマップを持っていますが、どうすればそのURLを訪れるべきですか? – StarWars

関連する問題