python处理网页时的unicode编码问题

本文讨论了在使用Python解析MD5算法页面时遇到的UnicodeDecodeError问题,并提供了解决方法,包括导入sys模块,重新加载并设置默认编码为utf-8。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近调试保存博客页面的时候,遇到下面的问题:

flying-bird@flyingbird:~/Downloads/export_blog$ ./images_parser.py 2015-07-29-2/Windows平台下面的MD5算法.htm
Traceback (most recent call last):
  File "./images_parser.py", line 154, in <module>
    _test(sys.argv[1])
  File "./images_parser.py", line 146, in _test
    get_image_items(content)
  File "./images_parser.py", line 133, in get_image_items
    parser.feed(content)
  File "/usr/lib/python2.7/HTMLParser.py", line 117, in feed
    self.goahead(0)
  File "/usr/lib/python2.7/HTMLParser.py", line 161, in goahead
    k = self.parse_starttag(i)
  File "/usr/lib/python2.7/HTMLParser.py", line 308, in parse_starttag
    attrvalue = self.unescape(attrvalue)
  File "/usr/lib/python2.7/HTMLParser.py", line 475, in unescape
    return re.sub(r"&(#?[xX]?(?:[0-9a-fA-F]+|\w{1,8}));", replaceEntities, s)
  File "/usr/lib/python2.7/re.py", line 151, in sub
    return _compile(pattern, flags).sub(repl, string, count)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 7: ordinal not in range(128)


解决办法参考http://blog.sina.com.cn/s/blog_6c39196501013s5b.html

主要如下:

在出现问题的页加上如下三行即可:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值