如何解决用 Beautiful Soup 抓取网页却得到乱码的问题

如何解决用 Beautiful Soup 抓取网页却得到乱码的问题,第1张

你贴的python代码,缩进有问题。 请自己重新确定代码缩进是正常的,且贴出来正常的代码给我们看。 2请确保: 你代码中所处理的内容,的确是你所截图贴出来的内容 -> 程序抓取出来的内容,有时候未必和你查看网页源码看到的内容是一样的。

编码问题!

你在网站上右键,查看下源码代码

meta ;

这个是百度知道,你可以看下你采集的网站的编码,然后用beautifulsoup的时候就需要设置啊

htmlCharset = "GB2312"

soup = BeautifulSoup(respHtml, fromEncoding=htmlCharset)

BeautifulSoup默认检测到的是unicode编码,当html为其他类型编码(非utf-8和asc ii),比如GB2312的话,则需要指定相应的字符编码,BeautifulSoup才能正确解析。

print一个对象的逻辑:内部是调用对象的__str__得到对应的字符串的,此处对应的是soup的__str__ 而针对于soup本身,其实已经是Unicode编码,所以可以通过指定__str__输出时的编码为GBK,以使得此处正确显示非乱码中文

而对于cmd:(中文的系统中)编码为GBK,所以只要重新编码为gb18030就可以正常输出了

就是下面这行代码

print (souptitle)encode('gb18030')

以上就是关于如何解决用 Beautiful Soup 抓取网页却得到乱码的问题全部的内容,包括:如何解决用 Beautiful Soup 抓取网页却得到乱码的问题、python 用requests和BeautifulSoup捉去网站上的火星文 为什么会乱码怎么解决、Python中用BeautifulSoup解析中文网页里的中文都是乱码,怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10144544.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存