Open legend-zl opened 2 years ago
注释 是我添加上去的
感谢你的解决方案, 我发现在调用HtmlResponse之后进行删除操作,就可以返回正确的response
response = HtmlResponse( page.url, status=response.status, headers=response.headers, body=content, encoding='utf-8', request=request )
headers.pop('content-encoding', None) headers.pop('Content-Encoding', None)
我把scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware
这个中间件去了也可以
如何爬去的一个网站返回的response里面的headers包含了 content-encoding: "gzip"的话,那么就会报上述错误,虽然作者在 downloadermiddlewares.py 的代码段中去掉了这个属性:
Necessary to bypass the compression middleware
但是很可惜的是,去不掉,只有把 headers=response.headers, 改为headers才可以。