对python requests的content和text方法的区别详解

yipeiwu_com6年前Python基础

问题:

一直在想requests的content和text属性的区别,从print 结果来看是没有任何区别的

看下源码:

@property
  def text(self):
    """Content of the response, in unicode.

    If Response.encoding is None, encoding will be guessed using
    ``chardet``.

    The encoding of the response content is determined based solely on HTTP
    headers, following RFC 2616 to the letter. If you can take advantage of
    non-HTTP knowledge to make a better guess at the encoding, you should
    set ``r.encoding`` appropriately before accessing this property.
    """

  #content的完整代码就不贴了。
  @property
  def content(self):
    """Content of the response, in bytes."""

结论是:

resp.text返回的是Unicode型的数据。

resp.content返回的是bytes型也就是二进制的数据。

也就是说,如果你想取文本,可以通过r.text。

如果想取图片,文件,则可以通过r.content。

(resp.json()返回的是json格式数据)

举个栗子

# 例如下载并保存一张图片

import requests

jpg_url = '/zb_users/upload/202003/o4acg1gwtjk.jpg'

content = requests.get(jpg_url).content

with open('demo.jpg', 'wb') as fp:
  fp.write(content)

以上这篇对python requests的content和text方法的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python发送arp欺骗攻击代码分析

复制代码 代码如下:# -*- coding: cp936 -*-from scapy.all import *from threading import Thread,Lock,act...

python解析json串与正则匹配对比方法

现在有如下格式的json串: “detail_time”:”2016-03-30 16:00:00”,”device_id”:”123456”,”os”:”Html5Wap”,”s...

python使用opencv对图像mask处理的方法

python使用opencv对图像mask处理的方法

MASK图像掩膜处理 在图像操作中有时候会用到掩膜处理,如果使用遍历法掩膜图像ROI区域对于python来讲是很慢的,所以我们要找到一种比较好的算法来实现掩膜处理。 假设我们有一副图...

利用python实现简易版的贪吃蛇游戏(面向python小白)

利用python实现简易版的贪吃蛇游戏(面向python小白)

引言 作为python 小白,总是觉得自己要做好百分之二百的准备,才能开始写程序。以至于常常整天在那看各种语法教程,学了几个月还是只会print('hello world')。 这样...

python的mysqldb安装步骤详解

python的mysqldb安装步骤详解 安装MySQLdb: 一、 什么是MySQLdb? 解释:MySQLdb是Python操作MySQL的一个接口包。这里要理解一个概念,pytho...