python 爬虫 GB2312 乱码

python 爬虫 GB2312 乱码 问题

话不多说上图

在这里插入图片描述

解决

在这里插入图片描述

Python爬虫项目中,遇到汉字字体乱码通常有以下几个原因: ### 1. 编码问题 在处理网页内容时,网页数据可能是以特定的编码格式存储的,如UTF-8、GBK等。如果不正确地指定解码方式,就会导致显示出来的文本出现乱码。 **解决方法**: - 确保读取网页内容前设置正确的编码格式。例如,如果已知网页采用的是GB2312编码,可以使用`requests`库的`.encode('gb2312')`或`.decode('gb2312')`方法处理;对于不确定编码的情况,可以尝试多种常见的编码格式。 - 使用`chardet`库自动检测网页编码: ```python import chardet # 读取网页内容并检测编码 with open('example.html', 'rb') as file: raw_data = file.read() encoding_detected = chardet.detect(raw_data) content_decoded = raw_data.decode(encoding_detected['encoding']) ``` ### 2. 输出文件的编码设置 当将网页内容保存到本地文件或输出时,确保使用的字符编码与保存目标兼容。通常,UTF-8是最广泛支持的编码格式。 **解决方法**: - 将解析后的字符串通过适当的编码保存到文件中: ```python with open('output.txt', 'w', encoding='utf-8') as f: f.write(content_decoded) ``` ### 3. 控制台打印的编码设置 在控制台打印含有中文的字符串时,同样需要设置正确的打印编码。 **解决方法**: - 直接使用`print()`函数输出字符串时,默认会按照当前系统的终端设置来处理编码,一般不需要额外操作。 ### 4. 字符集问题 网络请求或HTTP响应本身可能存在字符集声明错误,导致数据接收错误。 **解决方法**: - 检查HTTP头是否包含正确的字符编码信息,并据此调整解码策略。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的黑蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值