2013-06-27 69 views
8

我尝试抓取sitemap.xml的所有链接以重新缓存网站。但wget的递归选项不起作用,我只得到回应:通过wget命令抓取sitemap.xml链接

远程文件存在但不包含任何链接 - 不检索。

但是肯定的是,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

如何将每个下载的html文件名设置为页面标题?现在一切都只是index.html,index.html.1,index.html.2等 – user2028856

+0

希望看到一个详细说明,这在xml文件结构中的许多孩子说...任何人?虽然这很好!谢谢! – lcm

+0

我有gz格式的网站地图,该如何访问网址。 – StarWars