请教一下python爬虫的编码问题解决“思路”

发布于 2022-09-11 23:43:48 字数 63 浏览 31 评论 0

如果爬虫的response.text遇到乱码问题,应该用什么思路去找到正确的编码来解决问题呢?
请大佬指教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

物价感观 2022-09-18 23:43:48

有个奇葩的思路我发现,做爬虫的时候大家都喜欢把request.headers照搬下来,我发现我照搬下来就会乱码,我我只留个user-agent和cookie反而不乱码了

坠似风落 2022-09-18 23:43:48

我一般写爬虫的时候不会去特意指定编码,因为它网页的编码声明跟它实际网页的编码是不一致的。这就很头疼了。
为了应对这个问题,response对象有个属性可以根据网页中大部分编码分析出网站的编码方式,就可以获得网页的编码了。

import requests

def get_html(url):
    try:
        r = requests.get(url)
        r.encoding = r.apparent_encoding
        return t.text
    except Exception as e:
        print(e)
        return None
惯饮孤独 2022-09-18 23:43:48

试试这个

pip install chardet

南烟 2022-09-18 23:43:48
r = requests.get(url)
r.encoding = 'utf-8'
print r.text
悍妇囚夫 2022-09-18 23:43:48

找html的head,大部分网站的head都有编码

鸠书 2022-09-18 23:43:48

解码的时候使用response.text大概率会出问题,试一下用response.content。

response.encoding = response.apparent_encoding

也是个不错的选择

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文