scrapy-提示“twisted.web._newclient.ResponseNeverReceived”错误

1.错误信息

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/scrapy/core/downloader/middleware.py", line 42, in process_request
    defer.returnValue((yield download_func(request=request, spider=spider)))
twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>]

2.错误原因

这个问题的原因是没有正确设置header头信息,主要指user-agent信息。只要正常设置header头信息就可以运行成功。

3.解决方法

3.1 设置默认的header头信息

DEFAULT_REQUEST_HEADERS = {
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  'Accept-Language': 'en',
   "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko)"
}

打开项目settings.py文件,开启DEFAULT_REQUEST_HEADERS。
注意:

1."User-Agent"这项信息是默认没有的,需要手动添加的。可以通过查看浏览器的请求信息获user-agent。
2.DEFAULT_REQUEST_HEADERS中的配置选项,首字母都是大写的,跟一般的小写不一样。

你可能感兴趣的:(Python)