当前位置:首页 > python > 正文内容

python 爬虫 报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x8b in position”解决方案

zhangsir3年前 (2022-10-27)python350

发现报错“UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1:invalid start byte”,


方法一:


根据报错提示,错误原因有一条是这样的:

“'Accept-Encoding': 'gzip, deflate'”


网络上的解释是: 


这句话的意思是本地接收压缩格式的数据,服务器传过来压缩格式gzip的文件,而解压这种gzip文件只能用deflate算法,浏览器能够自动解压,程序却不能自动解压gzip。


总结:写爬虫程序时候还是不要写'Accept-Encoding': 'gzip, deflate'了,就让服务器传原始文件过来吧,不用压缩了。


方法二:


利用gzip进行解压缩。


python3 :

import gzip
import urllib.request
response_1 = urllib.request.urlopen('').read()
data=gzip.decompress(response_1).decode("utf-8")


zhangsir版权h8防采集https://mianka.xyz

扫描二维码推送至手机访问。

版权声明:本文由zhangsir or zhangmaam发布,如需转载请注明出处。

本文链接:https://www.mianka.xyz/post/52.html

标签: python爬虫
分享给朋友:

“python 爬虫 报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x8b in position”解决方案” 的相关文章

python+selenium元素定位的8种方法

定位元素,selenium提供了8中元素定位方法:(1)find_element_by_id() :html规定,id在html中必须是唯一的,有点类似于身份证号(2)find_element_by_name() :html规定,name用来指定元素的名称,有点类似于人名(3)find_elemen...

如何用python获取一个网页的所有连接

如何用python获取一个网页的所有连接很简单直接上代码:# -*- coding: utf-8 -*- ''' 如何用python获取一个网页的所有连接 author:zhangsir ''' imp...

Selenium添加Cookie来实现自动登录

Selenium添加Cookie来实现自动登录第一步获取你登录的cookie,以csdn为例from selenium import webdriver driver = webdriver.Chrome() driver.get('...

解决Django的request.POST获取不到请求参数的问题

这个是Django自身的问题:只要在请求头的添加"content-type":'application/x-www-form-urlencoded'就行。...

python 将json数据转成csv文件

从JSON数据转化CSV文件下面的这个Python脚本能够将JSON数据转化到CSV文件的表格当中去,我们输入的是带有.json后缀的文件,输出的是.csv后缀的表格文件,代码如下import json def converter(input_file, output...

python—pymysql的增删改查操作实例展示

Python使用pymysql连接数据库1.导包import pymysql2.连接数据库connection = pymysql.connect(     host='',  # ...