【Python爬虫】用urllib请求一个网页,响应的content中中文为16进制,如何转换为中文

导读:本篇文章讲解 【Python爬虫】用urllib请求一个网页,响应的content中中文为16进制,如何转换为中文,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

问题:在学习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')

输出结果:

【Python爬虫】用urllib请求一个网页,响应的content中中文为16进制,如何转换为中文

 可以看出中文字符转换为16进制,不好看。

解决方法:

很简单,只需要将read()用‘utf-8’解码即可。

content = response.read().decode('utf-8')#响应体

效果:

【Python爬虫】用urllib请求一个网页,响应的content中中文为16进制,如何转换为中文

可以看到 这样的输出更加美观,可读性强。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/63091.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!