'gbk' codec can't encode character '\xa0' in position 1534: illegal multibyte sequence

来源:互联网 发布:百度云盘 无网络连接 编辑:程序博客网 时间:2024/05/10 20:28


运行代码错误如题:

url = 'http://blog.csdn.net/dc_726/article/details/45399457'# pretend as a browserheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1;\             WOW64; rv:23.0) Gecko/20100101 Firefox/23.0 '}req = Request(url, headers=headers)html = urlopen(req)bsHtml = BeautifulSoup(html)text = bsHtml.find('div', id="article_content")print(text)


1.读取过程中己将文本编码为utf-8,  故错误的原因在打印过程(print())中,实际上,窗口错误提示已明确指出:

File "D:/Project/python/Text/text.py", line 34, in <module>
    print(text)


2.print() 系统默认为gbk编码格式,即程序运行时将对text进行gbk编码,后输出时对其进行解码,故考虑用下列改之:(应该可以采用更改系统设置的方法的。。)

print(text.encode('gbk','ignore').decode('gbk'))
注意:倘若你去掉上面的decode(‘gbk’),输出的将是字节形式,以为此时系统运行时判断不需要对其进行编码,故也不会进行解码。



有关的编码问题:

1.文件编码:主要来处理文件中出现的中文,可在文件头加:

# -*- coding:utf-8 -*-    


2.运行时编码:如上例。




阅读全文
0 0
原创粉丝点击