python爬虫返回文本为乱码的解决方法

1、在网站爬取文章时,返回的结果为乱码,如下

2、出现这种情况是因为访问page_text.text时,Requests会使用其推测的文本编码。

查看网页返回的字符集类型:page_text.apparent_encoding

查看自动判断的字符集类型:page_text.encoding

 

 可以看到Requests推测的文本编码(ISO-8859-1)与源网页编码(utf-8)不一致

3、解决方法

(1)方法一:在page_text.text之前,指定page_text.encoding为源网页的编码格式

page_text.encoding = 'utf-8'

(2)方法二:通过page_text.apparent_encoding属性来指定,直接将其值赋给page_text.encoding

r.encoding = r.apparent_encoding


版权声明:本文为weixin_46830352原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。