本人新手,刚学 node.js, 用 x-ray 包 写了个爬虫,很多没有限制的网站都没问题,但是有一些连最基础的爬html 整个文件都爬不了, 返回的内容是:“ 探测出是一个robot,所以不返回实际内容”
html 里有这样的东西: <meta name=“robots” content=“INDEX,FOLLOW” /> 这是不是和 robots.txt 这个有关? 完全不懂啊
以下是robots.txt 里的内容:
User-agent: * Disallow: /app/ Disallow: /cgi-bin/ Disallow: /downloader/ Disallow: /errors/ Disallow: /includes/ Disallow: /lib/ Disallow: /pkginfo/ Disallow: /shell/ Disallow: /var/ Disallow: /customer/ Disallow: /checkout/ Disallow: /catalogsearch/ Disallow: /wishlist/ Disallow: /sendfriend/ Disallow: /catalog/quickview/ Disallow: /catalog/product_compare/
请教各位大神破解之法
和robots.txt没任何关系,那个就相当于一个约定。没用过x-ray,可以自己用request模块模拟浏览器爬,论坛有几篇爬虫的帖子可以参考。
rebost.txt的内容是你爬取得规则约定,不是强制的,纯道德。 你可以更改你的User-agent头欺骗网站你来自某某浏览器,例如设置
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
也有的网站会对你的爬取频率做出限制,这个时候需要使用http代理来解决,不过免费的http代理貌似不太好用。
@Qquanwei 请教大神,这行代该放哪里?
@Qquanwei 会啦,解决了!!! 太给力了