decode解码报错UnicodeDecodeError: 'gb2312' codec can't decode byte 0x8f in position 6018: illegal multib

python抓取网页后用decode解码,报错信息如下:

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    html = html.decode("gb2312")
UnicodeDecodeError: 'gb2312' codec can't decode byte 0x8f in position 6018: illegal multibyte sequence

初步推测是网页中有部分数值是错误的或者说不是采用<meta>标签中charset显示的显示的编码,那么可以通过设置‘decode’函数的第二参数——‘errors’来解决这一问题

举例:

html = html.decode("gb2312",errors = 'ignore')

截图:

注意:不要把‘ignore’输成了‘ignone’,否则会报错!

报错信息:

LookupError: unknown error handler name 'ignone'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\Personal\Desktop\测试.py", line 8, in <module>
    html = rep.read().decode("gb2312",errors="ignone")
LookupError: decoding with 'gb2312' codec failed (LookupError: unknown error handler name 'ignone')

截图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值