欢迎光临
我们一直在努力

关于python爬取网页编码的问题

今天在做python爬虫项目的时候,发现有报错。

代码如下:

response = urllib.request.urlopen(url)

htmlb = response.read()

html = htmlb.decode(utf-8)

错误:

UnicodeDecodeError:‘utf-8’ codec can’t decode byte 0xbb in position 257: inv

alid start byte

意思是不能用utf-8转,然后想到可能是网页编码的问题

然后查看了下网页源码

于是就把代码改成如下

html = htmlb.decode(gb2312)

错误:

UnicodeDecodeError:‘gb2312’ codec can’t decode byte 0x9d in position 11496: illegal multibyte sequence

还是报错,然后查了好多资料才发现,应该用"gbk"。

总结

网页刚读取到的内容是二进制的,想要得到文字,就得转下编码。

具体转什么码要根据网页的编码来,一般是utf-8,但是像这次就是gbk。

赞(0) 打赏
未经允许不得转载:哈哈网 » 关于python爬取网页编码的问题

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫