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

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

zhangsir3年前 (2022-10-27)python292

发现报错“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版权a1防采集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”解决方案” 的相关文章

宝塔面板如何部署Django项目

宝塔面板如何部署Django项目

添加宝塔面板插件登录宝塔面板,进入软件商店,搜索“python项目管理器”然后点击安装进入python项目管理器,点击版本管理,安装版本(注:千万不要添加项目)然后添加网站,php不用所以选静态,添加好了,上传本地的源码。本地源码里没有requirements.txt文件,需要输入命令生成。命令如下...

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

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

使用pyautogui进行屏幕捕捉实现自动化操作

import pyautogui import time # # 获取基本信息 # # 屏幕大小 # size = pyautogui.size() # print(size) #&nbs...

python 将json数据转成csv文件

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

python 使用PIL库进行验证码清晰处理

python 使用PIL库进行验证码清晰处理from PIL import Image import sys import os sys.setrecursionlimit(1000000) pixel_list = []...

python在windows与Mac安装教程

以下是在Windows系统上安装Python的步骤:1.首先,你需要从Python官方网站上下载Python的安装程序。在网站上选择“Downloads”(下载)选项,然后选择适合你操作系统的Python版本进行下载。建议下载最新的稳定版本。2.运行下载好的安装程序,按照安装程序的指示进行安装。在安...