爬虫抓取问题:
cpp 代码
- wget http://www.bokee.net/alisoubao/rss2.xml
这个地址抓取的内容为以前很老的内容。
同样用java写的爬虫程序抓取的内容和用wget抓取的内容一样。
而用
cpp 代码
- curl http://www.bokee.net/alisoubao/rss2.xml
抓取的内容则是最新的。
感觉很奇怪。后来在google搜索了一下 wget的参数,最后用
cpp 代码
- wget --user-agent=AGENT http://www.bokee.net/alisoubao/rss2.xml
来抓取,抓取的内容是最新的,和用curl抓取的是一样的。
原因是因为:
--user-agent=AGENT 加了这个参数 的意思是 设定代理的名称为 AGENT而不是默认的 Wget/VERSION.
可见bokee网对user-agent为AGENT的请求进行了过滤。
同理:
检查java写的爬虫程序里,请求时带的user-agent里含有crawler
所以bokee网也应该对crawler的user-agent进行了过滤。
解决办法:把user-agent的值改写即可。
本文探讨了使用不同工具抓取同一网站内容时遇到的问题,发现网站对特定User-Agent进行了过滤。通过更改User-Agent设置成功获取到了最新内容。
6万+

被折叠的 条评论
为什么被折叠?



