|
今天初次尝试了一下爬虫程序,然后发现输出的中文是编码十六进制字符,经过网上查找相关资料,仍然不能正确输出中文,程序如下:
- import re
- import urllib.request
- pat='<div class="name">(.*?)</div>'
- data=urllib.request.urlopen("https://read.douban.com/provider/all").read()
- result=re.compile(pat).findall(str(data))
- print(type(result))
- print(type(result[0]))
-
- for i in result:
- output = i.encode('raw_unicode_escape')
- print(type(output))
- output1=output.decode('utf-8')
- print(output1)
- ##for i in result: #以下三行程序是可以输出中文的
- ## output=i
- ## exec('print(b\''+ output + '\'.decode(\'utf-8\'))')
复制代码 网上的资料程序如下,是可以正确输出中文的,程序如下:- s = '\xe9\x9d\x92\xe8\x9b\x99\xe7\x8e\x8b\xe5\xad\x90'
- print(type(s))
- ss = s.encode('raw_unicode_escape')
- print(type(ss))
- print(ss) # 结果:b'\xe9\x9d\x92\xe8\x9b\x99\xe7\x8e\x8b\xe5\xad\x90'
- sss = ss.decode('utf-8')
- print(sss)
复制代码 求问大佬这是什么问题?
|
|