找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1907|回复: 0

[求助] python 爬虫 中文编码

1

主题

1

帖子

1

积分

贫民

积分
1
水木子 发表于 2019-7-7 23:19:55 | 显示全部楼层 |阅读模式
今天初次尝试了一下爬虫程序,然后发现输出的中文是编码十六进制字符,经过网上查找相关资料,仍然不能正确输出中文,程序如下:
  1. import re
  2. import urllib.request

  3. pat='<div class="name">(.*?)</div>'
  4. data=urllib.request.urlopen("https://read.douban.com/provider/all").read()

  5. result=re.compile(pat).findall(str(data))

  6. print(type(result))
  7. print(type(result[0]))
  8.    
  9. for i in result:
  10.     output = i.encode('raw_unicode_escape')
  11.     print(type(output))
  12.     output1=output.decode('utf-8')
  13.     print(output1)

  14. ##for i in result:           #以下三行程序是可以输出中文的
  15. ##    output=i
  16. ##    exec('print(b\''+ output + '\'.decode(\'utf-8\'))')
复制代码
网上的资料程序如下,是可以正确输出中文的,程序如下:
  1. s = '\xe9\x9d\x92\xe8\x9b\x99\xe7\x8e\x8b\xe5\xad\x90'
  2. print(type(s))
  3. ss = s.encode('raw_unicode_escape')
  4. print(type(ss))
  5. print(ss)  # 结果:b'\xe9\x9d\x92\xe8\x9b\x99\xe7\x8e\x8b\xe5\xad\x90'
  6. sss = ss.decode('utf-8')
  7. print(sss)
复制代码
求问大佬这是什么问题?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表