用scrapy爬取评论的时候,遇到如下问题
[scrapy.spidermiddlewares.httperror] INFO: Ignoring response <404 http://,002016,f_588.html>: HTTP status code is not handled or not allowed
[scrapy.core.engine] DEBUG: Crawled (404) <GET http://,002016,f_603.html> (referer: http://.com)
是为什么呢?要如何解决
我在查找解决办法的过程中,发现大多数的解决办法是,在setting.py文件中加入user_agent,但我的setting.py文件中已经有这个了。我用写的代码进行scrapy时,只能爬取一小部分信息(比如我要爬取2020年1月1日-12月31日的评论,结果运行完程序之后,只能爬取到120条评论,剩下的程序就报上面的两个错误,这是因为什么呢?)
还有的让加入cookie的我也加入了,还是只能爬取一小部分信息。有没有谁可以看一下这到底是因为什么呢?
网站本身有反爬机制把,你在爬取的过程中增加延时或者IP代理轮换来尝试
如果有帮助,点击一下采纳该答案~谢谢
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
根据您的描述,您在使用Scrapy爬取评论时遇到了 HTTP 404 错误,并且使用了一些解决方法但问题仍然存在。下面给出一些可能的解决方案,供您参考:
1. 检查URL是否正确
首先,您需要检查爬取的URL是否正确。错误的URL可能会导致HTTP 404错误。请确保您使用的URL是正确的,并且可以在浏览器中正常访问。
2. 检查User-Agent和Cookie
您已经尝试了在setting.py中添加User-Agent和Cookie,但问题仍然存在。请确保您添加的User-Agent和Cookie是正确的,并且能够成功模拟浏览器访问。您可以使用浏览器的开发者工具来查看请求头中的User-Agent和Cookie,并将其复制到Scrapy的设置中。
3. 检查目标网站的反爬策略
某些网站可能会实施反爬策略,例如IP封锁、请求频率限制等。这些策略可能会导致HTTP 404错误。您可以尝试使用代理IP或者减慢请求速度来规避这些策略。
4. 检查Scrapy的日志信息
Scrapy会在控制台输出各种日志信息,包括HTTP请求和响应。您可以查看这些日志信息来了解HTTP 404错误的具体原因。例如,可能是因为目标网站使用了动态URL,需要在爬虫代码中动态生成URL。
希望以上信息能够帮助您解决问题。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢