我今天尝试爬去糗事百科的。F12后发现REquest headers中Accept-Encoding:gzip, deflate, sdch 我就以为是被压缩的,后来
response=urllib.request.urlopen(Request
print(response.info().get('Content-Encoding'))
返回的是None,请问到底如何确定否被压缩
PHP中文网2017-04-17 15:39:41
이 헤더가 압축되기 전에 크롤링할 때 Accept-Encoding
을 설정해야 합니다.
브라우저에서 Accept-Encoding:gzip, deflate, sdch
는 브라우저가 gzip
, deflate
, sdch
의 세 가지 압축 방법을 지원함을 웹사이트에 알려줍니다. 즉, 이는 웹사이트에서 지원하는 압축 방식이 아닌, 브라우저에서 지원하는 압축 방식을 의미합니다.
웹사이트에서는 지원되는 압축 방식 중 하나를 선택하여 반환하며, 압축 방식은 Content-Encoding
의 값입니다. 브라우저는 이 값에 따라 해당 압축 해제 방법을 선택합니다.
Yibai는 gzip
을 지원하지만 Accept-Encoding
을 설정하지 않으면 압축이 발생하지 않습니다.
위 스크립트의 출력은
으아악