UnicodeDecodeError: 'gbk' codec can't decode byte 0xd0 in position 13345: illegal multibyte sequence

1 import requests
2 
3 headers = {
4     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
5 }
6 url = "https://www.dytt8.net/html/gndy/dyzz/list_23_2.html"
7 response = requests.get(url, headers=headers)
8 text = response.content.decode(encoding='gbk')
9 print(text)

运行报错,

查看页面是有无法识别的内容

百度试过更换编码gb18030,可是还是会报错.

最后找到了解决的方法,在decode方法中有errors参数

如下:

text = response.content.decode(encoding='gbk', errors='ignore')

程序就不报错正常执行了.

百度中找到个方法打开网页:F12 在console输入document.charset 查看编码方式

当然,其实在这个程序中不需要提取这些内容,直接使用response.text()也可以.

原文地址:https://www.cnblogs.com/weiwei2016/p/10400618.html