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

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

python爬虫返回文本为乱码的解决方法_第1张图片

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

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

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

 python爬虫返回文本为乱码的解决方法_第2张图片

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

3、解决方法

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

page_text.encoding = 'utf-8'

python爬虫返回文本为乱码的解决方法_第3张图片

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

r.encoding = r.apparent_encoding

python爬虫返回文本为乱码的解决方法_第4张图片

你可能感兴趣的:(python,爬虫,pycharm)