python print unicode错误bug

原创 2018年04月15日 00:01:07

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

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

代码:

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

后来经过验证

print u"中文"

不会报错

但是

print u"\xa0中文"

debug产生错误

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

经过测验 将代码修改为

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】第二周Python基础(下)

本周课程主要讲解Python的面向对象编程, 异常处理、模块、MySQL数据库、Python的数据库支持以及图形用户界面等技术,最后我们使用阶段案例开发了一个《飞机大战》的游戏。
  • 2018年03月16日 11:34

python unicode中文输出文件错误解决

问题描述:在用python中的json包解析json字符串时,若遇到字段值为中文,直接print在屏幕上没问题,但是重定向到文件或者写文件时,出UnicodeEncodeError: 'ascii' ...
  • damant
  • damant
  • 2015-11-09 17:59:58
  • 2326

python 打印unicode字符串

a=\u767e\u5ea6\u5728\u7ebf\u7f51\u7edc\u6280\u672f\uff08\u5317\u4eac\uff09\u6709\u9650\u516c\u53f8 >...
  • pzqingchong
  • pzqingchong
  • 2016-03-22 11:55:28
  • 4235

python unicode中文(汉字)输出

使用百度地图web service API时取到的数据中, 中文都是\u 这种unicode, 太坑爹了.如何将unicode转换成中文并打印或者输出到文件中呢? 在网上找了好久,终于找到了方法, 使...
  • zzllabcd
  • zzllabcd
  • 2013-12-03 18:01:14
  • 14631

print时unicode显示中文

print时,unicode变中文>>> l = [u'A江', u'今天', u'开心'] >>> print(l) [u'A\u6c5f', u'\u4eca\u5929', u'\u5f00\u...
  • qq_16912257
  • qq_16912257
  • 2017-07-07 13:49:37
  • 185

Python最简单的解决列表中只打印UNICODE而不是中文字符的方法

答案就是用json模块: 例如: import jsondata=[{u'\u663e\u793a': [u'python', u'\u8bd5\u9a8c'], u'\u6570\u91cf': 2...
  • Gobsd
  • Gobsd
  • 2017-02-16 07:47:08
  • 5560

菜鸟学Python(5):IDLE的一个bug(怎么总遇到bug?)

 菜鸟学Python(5):IDLE的一个bug                                              ---------温铭  http://blog.csdn....
  • wayne92
  • wayne92
  • 2006-09-01 17:22:00
  • 1877

python的print对编码的处理

    python的print会对输出的文本做自动的编码转换,而文件对象的write方法就不会做,因此,当一些字符串用print输出正常时,write到文件确不一定和print的一样。    pri...
  • zhaoweikid
  • zhaoweikid
  • 2007-06-22 17:11:00
  • 15241

Python2 中文unicode乱码问题

在 Sublime Text 里用 Cmd (Ctrl) + B 运行代码 print u'中文',想要打印出 unicode 类型的字符串时,会出现以下报错: UnicodeEncodeErr...
  • Nero_G
  • Nero_G
  • 2017-02-16 11:15:20
  • 3644

python解决list unicode转中文显示

https://www.cnblogs.com/yrxns/p/6479196.html python解决list unicode转中文显示 #!/usr/bin/...
  • wangyx019
  • wangyx019
  • 2017-11-23 06:55:33
  • 62
收藏助手
不良信息举报
您举报文章:python print unicode错误bug
举报原因:
原因补充:

(最多只允许输入30个字)