问题:在学习Python爬虫一开始,利用python自带urllib模块请求一个网页时,响应的content中中文为16进制,如何转换为中文。
环境:WIN10+Python3.6
代码:
#~ coding=utf-8
#~ 使用Pyton内建模块 urllib 请求一个 URL 代码示例
import ssl
from urllib.request import Request
from urllib.request import urlopen
#使用ssl创建未经验证的上下文,在urlopen中传入上下文参数
context = ssl._create_unverified_context()
#~ HTTP请求
request = Request(url = 'https://me.csdn.net/chengyikang20',
method = 'GET',
headers = {'Host':'me.csdn.net'},
data = None)
#~ HTTP响应
response = urlopen(request, context=context)
headers = response.info()#响应头
content = response.read()#响应体
code = response.getcode()#状态码
print('headers='+str(headers)+'\n\n')
print('content='+str(content)+'\n\n')
print('code='+str(code)+'\n')
输出结果:
可以看出中文字符转换为16进制,不好看。
解决方法:
很简单,只需要将read()用‘utf-8’解码即可。
content = response.read().decode('utf-8')#响应体
效果:
可以看到 这样的输出更加美观,可读性强。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/63091.html