返回信息流import urllib2
import re
f = open('one.txt', 'w')
url = "http://hanhan.qq.com/hanhan/one/one%dm.htm#page1"
prog = re.compile(r'<h1[^>]+?onebd[^>]+?>(.+?)</h1>.*?<div[^>]+?neirong[^>]+?>(.+?)</div>', re.DOTALL)
for i in range(177,228):
u = url % (i)
html = urllib2.urlopen(u).read()
for x in prog.findall(html):
f.write(x[0])
f.write(x[1].replace('<br>', ''))
f.close()
之前写的一段用来吧“一个“的文章抓下来的python代码,可是用vi打开one.txt之后显示的是乱码
如果把x[0].decode("gbk")会报“UnicodeEncodeError: 'ascii' codec can't encode character”的错
请问怎么才能使vi或者cat正常显示中文?
这是一条镜像帖。来源:北邮人论坛 / www-technology / #20574同步于 2013/6/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
python抓到的内容编码
listenforyou
2013/6/25镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
x[0].decode("gbk").encode('utf8')
或者
import codecs
f = codecs.open('one.txt', 'wb',encoding='utf-8')
f.write(x[0].decode('gbk‘)
注意unicode和str,或者叫str和bytes的区别
请用requests http://docs.python-requests.org/en/latest/
请用lxml http://lxml.de/
或者beautifulsoup4 http://www.crummy.com/software/BeautifulSoup/
【 在 binux 的大作中提到: 】
: x[0].decode("gbk").encode('utf8')
: 或者
: import codecs
: ...................
x[0].decode("gbk")会出现下面的错误是为什么?我用的python是2.7
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 124-125: illegal multibyte sequence
gb18030试试
【 在 listenforyou 的大作中提到: 】
:
: x[0].decode("gbk")会出现下面的错误是为什么?我用的python是2.7
: UnicodeDecodeError: 'gbk' codec can't decode bytes in position 124-125: illegal multibyte sequence