用Python 抓取的UTF8网页无法decode('utf-8')
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Python 抓取的UTF8网页无法decode('utf-8')相关的知识,希望对你有一定的参考价值。
脚本在昨天之前一直运行的很好,但是昨天突然无法解析,求解为什么?
估计就是个别字符有问题,即本来标称utf-8,但是实际上个别字符不是utf-8,比如是gb2312
结果导致错误。
常见的解决办法是,添加ignore参数,比如:
decodedUnicodehtml = yourHtml.decode("UTF-8", 'ignore')
就可以正常解码了。
更多相关内容可参考:
【总结】Python 2.x中常见字符编码和解码方面的错误及其解决办法
(此处没法发布地址,请自己google搜帖子标题,即可找到帖子地址) 参考技术A 不同的网页编码不一样,你今天抓的网页和昨天不一样啊。
编码是很麻烦的问题,你要针对各种网页写不同的解码和解析策略。追问
问题是,我仔细查看对方的源码,如我贴图所示,是UTF-8啊
追答错误提示 92229-92230 这个地方可能出现了不兼容的编码,一般有2种办法:
1 你用decode的时候,需要开启ignore模式,遇到个别不兼容的编码可以过滤掉。
2 下载一个 iconv, 需要转码的使用用python调用这个iconv来转码,同样要开启escape模式,跳过不兼容的字符。
以上是关于用Python 抓取的UTF8网页无法decode('utf-8')的主要内容,如果未能解决你的问题,请参考以下文章
我用python打开一个网页 并且打印 前面有个b是怎么回事?
如何解决用 Beautiful Soup 抓取网页却得到乱码的问题