python爬到的html乱码怎么解决

发布网友 发布时间:2022-04-28 08:29

我来回答

2个回答

懂视网 时间:2022-04-28 12:51

python写入html文件中文乱码问题

使用open函数将爬虫爬取的html写入文件,有时候在控制台不会乱码,但是写入文件的html中的中文是乱码的

案例分析

看下面一段代码:

# 爬虫未使用cookiefrom urllib import requestif __name__ == '__main__':
 url = "http://www.renren.com/967487029/profile"

 rsp = request.urlopen(url)

 html = rsp.read().decode() with open("rsp.html","w")as f: # 将爬取的页面
 print(html)
 f.write(html)

看似没有问题,并且在控制台输出的html也不会出现中文乱码,但是创建的html文件中

ba7eb27c8a76a73427692c57650df14.png

解决方案

使用open方法的一个参数,名为encoding=” “,加入encoding=”utf-8”即可

# 爬虫未使用cookiefrom urllib import requestif __name__ == '__main__':
 url = "http://www.renren.com/967487029/profile"

 rsp = request.urlopen(url)

 html = rsp.read().decode() with open("rsp.html","w",encoding="utf-8")as f: # 将爬取的页面
 print(html)
 f.write(html)

运行结果

39353137a8f9ac7f0e3fac26e375b21.png

感谢大家的阅读,希望大家收益多多。

本文转自: https://blog.csdn.net/qq_40147863/article/details/817445

推荐教程:《python教程》

热心网友 时间:2022-04-28 10:15

是response对象要指定解码。
加在 requests.get后面
res1.encoding='gb2312'

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com