爬取的文档突然中文全部乱码 - Python

爬取网站内容时, 有可能会出现非法字符, 从而导致整个文档中文乱码.

全部变成一下格式的内容:
å<9c>¨å<85>¨å<9b>½æ<94>¿æ³<95>æ<9c>ºå<85>³å¼<80>å±<95>社ä¼<9a>主ä¹<89>æ³<95>æ²»ç<90><86>念æ<95><99>è<82>²ï¼<8c>æ<98>¯ä¸­å¤®æ<94>¿æ³<95>å§<94>继20__å¹´é<83>¨ç½²å¼<80>å±<95>â<80><9c>è§<84>è<8c><83>æ<89>§æ³<95>è¡<8c>为ï¼<8c>ä¿<83>è¿<9b>æ<89>§æ³<95>å<85>¬æ­£â<80><9d>ä¸<93>项æ<95>´æ<94>¹æ´»å<8a>¨ä¹<8b>å<90><8e>ç<9a><84>å<8f><88>ä¸<80>é<87><8d>大å<86>³ç­<96>ï¼<8c>å<85>·æ<9c><89>é<87><8d>大è<80><8c>æ
在这里插入图片描述
本文针对 刚开始文档内容中文正常显示, 后面突然全部中文乱码, 遇到这种情况该如何解决?

首先, 打开文件时, f = open('存储路径', 'a', encoding='utf-8'), 要设置编码. 爬虫在爬取内容保存时,可以这样写入f.write(json.dumps(获取的内容, ensure_ascii=False) + '\n')

忽略到非法字符, 然后重新读取文档内容, 另外保存到一个文件中即可

f_path = '乱码的文档的路径'
f_content = '想要保存的正常文档的路径'
f = open(f_content, 'a', encoding='utf-8')
with open(f_path, 'r', encoding='utf-8', errors='ignore') as fr:
    for line in fr.readlines():
        f.write(line)

f.close()

就是这样两行代码即可解决问题


[参考文章]
python文件读写,以后就用with open语句

发布了190 篇原创文章 · 获赞 153 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_36852780/article/details/104505903
今日推荐