本文全部是转载的:

#--------------------------------------------下面是转载内容---------------------------------------------------------------------------------------

场景:使用Python进行斗鱼直播页面的爬取,爬取的url:https://www.douyu.com/ 当使用str(爬取的html字节码,encoding='utf-8')进行一个编码转换的时候报UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte这个错误。
代码示例:

from urllib import requestclass Spilder():#斗鱼urlurl='https://www.douyu.com/'def __fetch_content(self):r = request.urlopen(Spilder.url)htmls = r.read()    #获取字节码(html)print(htmls)htmls = str(htmls, encoding='utf-8')   print(htmls)def go(self):self.__fetch_content()spilder=Spilder()
spilder.go()

首先我们观察第一个print输出的字节码可以看到它是以"b’\x1f\x8b\x08"开头的 ,说明它是gzip压缩过的数据,这也是报错的原因,所以我们需要对我们接收的字节码进行一个解码操作。修改如下:

from urllib import request
from io import BytesIO
import gzipclass Spilder():url='https://www.douyu.com/'def __fetch_content(self):r = request.urlopen(Spilder.url)htmls = r.read()buff = BytesIO(htmls)f = gzip.GzipFile(fileobj=buff)htmls = f.read().decode('utf-8')print(htmls)def go(self):self.__fetch_content()spilder=Spilder()
spilder.go()

#--------------------------------------------上面是转载内容---------------------------------------------------------------------------------------

以上转载内容最终被应用于:

Tornado同步api和异步api混写一例

python3的web开发中出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid star相关推荐

  1. Python3 使用requests请求,解码时出错:'utf8' codec can't decode byte 0x8b in position 1: invalid start byte...

    requests请求的响应内容能够通过几个属性获得: response.text 为解码之后的内容,解码会根据响应的HTTP Header中的Content-Type选择字符集.例如 "'C ...

  2. UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x8b in position 1: invalid start byte

    当我们使用urllib库打印爬取的网页信息print(res.read().decode('utf-8'))出现: UnicodeDecodeError: 'utf-8' codec can't de ...

  3. 报错:UnicodeDecodeError:: ‘utf-8‘ codec can‘t decode byte 0xc8 in position 0: invalid contin

    python读取数据时出现:UnicodeDecodeError:: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid conti ...

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

    由于标题有字符限制没有办法将主题说的更明白,就将错误信息贴了上去,望谅解 场景:使用Python进行斗鱼直播页面的爬取,爬取的url:https://www.douyu.com/ 当使用str(爬取的 ...

  5. Python3 解决 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

    一.问题 request.Request(url,headers=headerDict))的时候出现异常信息:'utf-8' codec can't decode byte 0x8b in posit ...

  6. 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 报错原因 ...

  7. Nmap中扫描时出现“utf8' codec can't decode byte 0xc0 in position 0: invalid start byte”错误的解决方案

    关于Nmap中扫描时出现"utf8' codec can't decode byte 0xc0 in position 0: invalid start byte"错误的解决方案 ...

  8. python 读取数据出现UnicodeDecodeError:: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid contin

    之前写程序时也出现过类似错误,每次解决了到第二次遇见又忘了具体方法,这次记录一下. 一.字符编码问题 先介绍一下字符编码问题 1.ASCLL与GB2312 由于计算机是美国人发明的,因此,最早只有12 ...

  9. python 读取数据出现UnicodeDecodeError:: ‘utf-8‘ codec can‘t decode byte 0xc8 in position 0: invalid contin

    解决方法: 读取时也可以用二进制模式打开的文件(包括模式参数中的'rb')将内容作为字节对象,而不进行任何解码. 然后使用line.decode('utf-8',errors = 'ignore')解 ...

最新文章

  1. 自己动手写一个JQuery插件(第二篇)(转)
  2. bluez 设置绑定pin码_国家工信部重要提醒:一定要设置这个密码!
  3. python传参_Python的赋值和传参
  4. Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现
  5. 排队五小时才能吃上一口的Popeyes,要借阿里云数据中台10年内开足1500家门店
  6. 如何在 Mac上使用预览解锁 PDF
  7. laravel 提交Request 请求后会莫名多出一个s参数,导致数据库报错问题的解决方法
  8. Linux不仅仅是开源
  9. C++之预处理命令以及宏定义
  10. 008-Shell 流程控制
  11. SpringBoot整合freemarker找不到静态资源ftl文件解决办法
  12. C#中Abstract和Virtual
  13. 中国新型显示产业竞争格局与发展规模预测报告2022版
  14. vs2015 相关
  15. 函数重载与参数缺省值共用可能引起两意性
  16. 论语 宪问篇(笔记)
  17. OpenGL超级宝典学习笔记——操作矩阵
  18. 小米1S MIUI V5刷回V4教程
  19. 黑龙江省双鸭山市谷歌高清卫星地图下载
  20. linux设备驱动归纳总结(十二):简单的数码相框

热门文章

  1. struts2学习笔记(4)接收参数
  2. Linux 命令find、grep
  3. MySQL学习笔记7:基本查询
  4. JS 中判断一个对象是否为数组对象?
  5. xp电脑自动锁定计算机,WindowsXP系统组策略的锁死的解决方法
  6. webpack打包之clean-webpack-plugin插件 默认下载4.0.0版本的踩坑记录
  7. Flexbox弹性盒模型
  8. HTML引入第三方类库项目需要授权解决方案
  9. 用canvas绘制一个圆形,实现绕着一个中心运动
  10. OpenCV3 Java 机器学习使用方法汇总