欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python爬虫-UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

程序员文章站 2022-03-25 17:36:44
python爬虫-UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte ......

错误如下:

unicodedecodeerror: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

抓取的网页检查:

content-encoding: gzip

需要做gzip的解压

request = urllib.request.request(url = url, headers = request_headers)
reponse = urllib.request.urlopen(request,timeout = timeout)
data = reponse.read()
buff = bytesio(data)
f = gzip.gzipfile(fileobj=buff)
res = f.read().decode('utf-8')
print(res)

在请求的头部加入:"accept-encoding":"gzip",

如果是下面:则每次返回有可能是gzip压缩,有可能不压缩,web 应用干脆为了迁就 ie 直接输出原始 deflate

accept-encoding: gzip, deflate在请求的头部加入:

"accept-encoding":"gzip",