在网站上运行爬虫时,我收到以下错误消息很多次:
<twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>
Run Code Online (Sandbox Code Playgroud)
在不同的站点上运行爬虫时,我不会收到此错误,并且它尝试访问的页面可以通过浏览器或通过curl.因此,我想知道什么情况可能导致这个错误出现?
澄清一下,完整错误的含义如下:
2016-11-17 20:59:38 [scrapy] ERROR: Error downloading <GET http://www.peets.com/gifts/featured-gifts/holiday-gifts/sheng-puer-tea-50.html>: [<twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>]
Run Code Online (Sandbox Code Playgroud)
有许多不同的URL会产生类似的错误,同样如果我多次运行它并不会总是失败.所以我不清楚ConnectionDone: Connection was closed cleanly在问题是什么方面应该暗示什么.
小智 4
今天我遇到了同样的错误。我认为这些网站有爬虫预防措施。如果我添加:
USER_AGENT = 'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0'
Run Code Online (Sandbox Code Playgroud)
其中settings.py解决了错误。