关于Python beautifulsoup 输出中文乱码问题

在学习网络爬虫时,遇到BeautifulSoup处理不同'gb2312'编码页面时,中文显示乱码的困扰。研究发现,尽管BeautifulSoup内部已进行Unicode解析,但在某些情况下输出仍会乱码。通过分析,发现在特定条件下,如使用正则表达式查找,可能会返回空结果。尝试使用gb18030编码输出中文则正常。最后,通过在初始化BeautifulSoup时,先对content进行decode,解决了乱码问题。
摘要由CSDN通过智能技术生成

我在学习网络爬虫的过程中遇到一个很奇怪的问题,爬取同一个网站的不同页面(编码方式都为'gb2312')时,beautifulsoup有时候输出中文是正常的有时候是乱码。

查找资料:http://bbs.chinaunix.net/thread-4084647-1-1.html

上面说:表面上看起来从BeautifulSoup解析后得到的soup,打印出来是乱码,但是实际上其本身已经是,正确的(从原始的GB2312编码)解析(为Unicode)后的了。

之所以乱码,那是因为,打印soup时,调用的是__str__,其默认是UTF-8,所以输出到GBK的cmd中,才显示是乱码。

但实际情况却不是这样:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值