我想抓取一个网站来构建其站点地图.
问题是,该站点使用htaccess文件来阻止蜘蛛,因此以下命令仅下载主页(index.html)并停止,但它确实包含指向其他页面的链接:
wget -mkEpnp -e robots=off -U Mozilla http://www.acme.com
Run Code Online (Sandbox Code Playgroud)
由于我使用浏览器访问网站的其余部分没有问题,我认为"-e robots = off -U Mozilla"选项不足以让wget伪装成浏览器.
我还应该知道其他选择吗?wget自己处理cookie吗?
谢谢.
-
编辑:我将这些添加到wget.ini,无济于事:
hsts=0
robots = off
header = Accept-Language: en-us,en;q=0.5
header = Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
header = Connection: keep-alive
user_agent = Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0
referer = /
Run Code Online (Sandbox Code Playgroud)
-
编辑:找到它.
链接到主页的页面位于远程服务器上,因此wget会忽略它们.只需添加"--span-hosts"告诉wget去那里,并且"-D www.remote.site.com"如果你想限制蜘蛛到那个域.