如何爬去的一个网站返回的response里面的headers包含了 content-encoding: "gzip"的话,那么就会报上述错误,虽然作者在 downloadermiddlewares.py 的代码段中去掉了这个属性:
# 这个地方只能去掉 headers 中的content-encoding,但是response.headers中的依然存在,所以下面应该直接改为 headers=headers,
headers = response.headers
headers.pop('content-encoding', None)
headers.pop('Content-Encoding', None)
response = HtmlResponse(
page.url,
status=response.status,
headers=response.headers, # 解决办法就是改为: headers=headers,
body=content,
encoding='utf-8',
request=request
)