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