Python之response.text 和response.content的区别的深入分析
内容摘要
这篇文章主要为大家详细介绍了Python之response.text 和response.content的区别的深入分析,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的雯
感兴趣的小伙伴,下面一起跟随php教程的雯
文章正文
这篇文章主要为大家详细介绍了Python之response.text 和response.content的区别的深入分析,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的雯雯来看看吧!
1.response.text
- 类型:str
- 解码类型: 根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码
- 如何修改编码方式:response.encoding=”gbk”
2. response.content
- 类型:bytes
- 解码类型: 没有指定
- 如何修改编码方式:response.content.deocde(“utf-8”)
3.获取网页源码的通用方式:
代码如下:
1 2 3 | <code> response.content.decode() response.content.decode(“GBK”)</code> |
python中response.text 和response.content的区别分析
解码方式可以根据响应头中找到Content-Type:text/html;charset=utf-8或者网页源码中content="text/html;charset=utf-8''来决定.
代码如下:
1 2 | <code> response.text</code> |
python中response.text 和response.content的区别分析
以上三种方法从前往后尝试,能够100%的解决所有网页解码的问题
所以:更推荐使用**response.content.deocde()**的方式获取响应的html页面
补充:python3中requests 常用response
看代码吧~
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <code> import requests res = requests.get( "http://127.0.0.1:9092" ) print (res.status_code) # 200 print (res.url) # http: //127.0.0.1:9092/ print (res.headers) # { 'Content-Type' : 'application/json; charset=utf-8' , 'Content-Length' : '10' , 'Date' : 'Sat, 22 Dec 2018 13:36:16 GMT' , 'Connection' : 'keep-alive' } print (res.cookies) # <RequestsCookieJar[<Cookie cid=hello world for 127.0.0.1/>]> print (res.text) # 8248154254 print (res.content) # b '8248154254' 写图片 print (res.cookies[ 'cid' ]) # hello world # 爬取 图片 r1 = requests.get( 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1545496551516&di=8ed19596bc72aa87299ed7f234830128&imgtype=0&src=http%3A%2F%2Fimg5.duitang.com%2Fuploads%2Fitem%2F201107%2F31%2F20110731155631_htMcs.jpg' ) b = r1.content with open( 'hao.jpg' , 'wb' ) as f: f.write(b) </code> |
python中response.text 和response.content的区别分析
以上为个人经验,希望能给大家一个参考,也希望大家多多支持php教程。
注:关于Python之response.text 和response.content的区别的深入分析的内容就先介绍到这里,更多相关文章的可以留意
代码注释