解决python在html中显示乱码的问题

这篇文章将为大家详细讲解有关解决python在html中显示乱码的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

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

案例分析

看下面一段代码:

# 爬虫未使用cookie
from urllib import request

if __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文件中 

解决python在html中显示乱码的问题

解决方案

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

# 爬虫未使用cookie
from urllib import request

if __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)

运行结果

解决python在html中显示乱码的问题

关于解决python在html中显示乱码的问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。