我是靠谱客的博主 哭泣抽屉,这篇文章主要介绍python print unicode错误bug,现在分享给大家,希望可以做个参考。

在爬虫爬取网页内容遇到的bug

Debug错误提示:UnicodeEncodeError: 'gbk' codec can't encode character u'xa0' in position 0: illegal multibyte sequence

代码:

复制代码
1
2
3
4
5
6
response1=urllib2.urlopen(url) r_doc=response1.read() soup=BeautifulSoup(r_doc, 'html.parser',from_encoding='utf-8') content=soup.find('div',id="content") doc=content.get_text() print doc

后来经过验证

复制代码
1
print u"中文"

不会报错

但是

复制代码
1
print u"xa0中文"

debug产生错误

xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)
latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通常我们见到的字符多数是 latin1 的,比如在 MySQL 数据库中。

经过测验 将代码修改为

复制代码
1
2
3
4
5
6
response1=urllib2.urlopen(url) r_doc=response1.read() soup=BeautifulSoup(r_doc, 'html.parser',from_encoding='utf-8') content=soup.find('div',id="content") doc=content.get_text().replace(u"xa0"," ") print doc
使用relace 将爬取内容中的xa0修改为空格,程序成功运行

最后

以上就是哭泣抽屉最近收集整理的关于python print unicode错误bug的全部内容,更多相关python内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部