我今天尝试爬去糗事百科的。F12后发现REquest headers中Accept-Encoding:gzip, deflate, sdch 我就以为是被压缩的,后来
response=urllib.request.urlopen(Request
print(response.info().get('Content-Encoding'))
返回的是None,请问到底如何确定否被压缩
我今天尝试爬去糗事百科的。F12后发现REquest headers中Accept-Encoding:gzip, deflate, sdch 我就以为是被压缩的,后来
response=urllib.request.urlopen(Request
print(response.info().get('Content-Encoding'))
返回的是None,请问到底如何确定否被压缩
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答884 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
你需要在抓取时设置
Accept-Encoding
这个头才会被压缩。在浏览器中
Accept-Encoding:gzip, deflate, sdch
在告诉网站浏览器支持gzip
,deflate
,sdch
这三种压缩方式。也就是说这不代表网站支持的压缩方式,而是代表浏览器支持的压缩方式。网站会选择其中一种支持的压缩方式返回,压缩方式为
Content-Encoding
的值。浏览器会根据这个值来选择对应的解压方式。糗百支持
gzip
,但是如果不设置Accept-Encoding
则不会进行压缩。上面的脚本输出为