爬取的文档突然中文全部乱码 - 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语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值