python使用BeautifulSoup出现内容乱码

Beautiful Soup在爬取页面的时候,返回的内容出现乱码,Beautiful Soup默认使用的是utf-8的编码格式,为请求设置编码

内容乱码

一开始的时候使用这样的方式去抓取数据,发现返回的数据内容中文出现乱码

req = requests.get(url, headers=headers)
html = BeautifulSoup(req.text)

查找文档

在文档中有这样的解释:如果不设置编码的话,通过Beautiful Soup输出文档时,不管输入文档是什么编码方式,输出编码均为UTF-8编码。找到问题所在后

设置编码

通过encoding修改内容的编码

req = requests.get(url, headers=headers)
req.encoding = 'utf-8'
html = BeautifulSoup(req.text)

在设置编码后,请求的内容可以正常显示了

发表评论

发表评论