+ -
当前位置:首页 → 问答吧 → python 编码问题 伤透心了

python 编码问题 伤透心了

时间:2011-06-23

来源:互联网

关于搜狐的问题:

从搜狐页面上抓取源码,取到 标题 ,建立目录,出错WindowsError: [Error 267] : '/chen/\xcc\xc0\xc4\xb7\xca\xe5\xca\xe5\xb5\xc4\xd0\xa1\xce\xdd:\xd2\xbb\xb2\xbf\xd2\xfd\xb7\xa2\xc4\xcf\xb1\xb1\x
d5\xbd\xd5\xf9\xc8\xb4\xbe\xc8\xc1\xcb\xc3\xc0\xb9\xfa\xba\xcd\xc8\xab\xca\xc0\xbd\xe7\xb5\xc4\xca\xe9/'

代码如下:
u = urllib2.urlopen(url)
html = u.read()
u.close()

for b in re.findall(r'<h1>(.*?)</h1>',html ):
  d += b

folderName = '/chen/' + d + '/'
if not os.path.exists(folderName):
  os.makedirs(folderName)

我尝试在html = u.read()之后,用各种编码解码编码,html = html .decode('gb18030').encode('UTF-8') 均无效
但print出来是汉字,请哥哥们帮忙看看怎么解决,谢谢了

作者: chenhf8809   发布时间: 2011-06-23

和编码问题没关系。Windows目录名不能包含冒号。你自己要把目录名做下处理,把非法字符(自己搜索下哪些字是非法的)都删掉或者转义掉。

作者: iambic   发布时间: 2011-06-23

其实你自己也可以想下。目录名是不是乱码和能否创建有必然的联系吗?

作者: iambic   发布时间: 2011-06-23