python爬虫表格数据中文乱码,python爬取网站遇到中文乱码的解决方案

本文介绍了Python爬虫过程中遇到的两种中文乱码问题及其解决方案。问题一是Requests模块获取网页内容时可能出现的乱码,解决方法是在获取响应后设置`request.encoding = 'utf-8'`。问题二是Windows系统中文件和CMD终端的编码问题,解决方法是明确指定文件读写时的编码为`utf-8`,以及理解CMD默认编码可能是GBK。
摘要由CSDN通过智能技术生成

乱码问题1:由于Requests模块带来的乱码。

当HTTP header有指定字符集的时候,会采用指定的字符集。

当HTTP header不存在明确指定的字符集,Requests会去猜测编码方式。

但是这时候不能保证一定会解码正确,可能你get下来的文档都是这样的:

解决办法比较简单,加上这么一句话就行了:get对象.encoding = 'utf-8'

new_url = 'https://baike.baidu.com/item/Python/407313'

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) \

AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36'}

request = requests.get(new_url, headers = headers)

if request.status_code == 200:

request.encoding = 'utf-8' #关键就在于这一句话上面。

print("request.text= ", request.text)

乱码问题2:由于Windows系统带来的乱码

Windows系统是一个非常奇葩的系统,如果习惯编程的程序猿就会发现,其实Windows一点也不方便好用。

对于编码问题,这一点尤其严重。

Windows系统带来的编码问题,还分为两类,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值