基于Python中request请求得到的response的属性问题

Python中request请求得到的response,即通过request得到的数据:

import requests
response = requests.get(https://www.jd.com/)

response 的属性

1、返回状态码

response.status_code

http请求的返回状态,2XX 表示连接成功,3XX 表示跳转 ,4XX 客户端错误 , 500 服务器错误

2、返回http响应的文本内容

response.text

http响应内容的字符串(str)形式,请求url对应的页面内容

response=requests.get("https://www.jd.com/")
print(response.text)

如果打印的过程中出现乱码:

则可以使用encoding来修改编码格式:

response.encoding="utf-8"
print(response.text)

3、返回http响应的二进制数据

response =requests.get("https://www.jd.com/")
# print(response.content)     #打印出的是二进制形式
print(response.content.decode("utf-8"))

总结:

response的text方法和response的content方法进行对比:

response.text返回的是Unicode型数据,response.content返回的是bytes型,也就是二进制类型的数据;

取文本用.text的方法,取图片用.content的方法;

4、从HTTP header中猜测的响应内容编码方式

response.encoding

5、从内容分析出的响应内容的编码方式(备选编码方式)

response.apparent_encoding

6、http响应内容的头部内容

response.headers

补充:python 爬虫 requests模块(response常用属性)

response常用属性

content获取的response对象中的二进制(byte)类型的页面数据

response.content

返回响应状态码

response.status_code

200

返回响应头信息

response.headers

获取请求url

response.url

https://www.sogou.com/

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python requests timeout的设置

    背景 最近在搞爬虫,很多小组件里面都使用了 Python 的 requests 库,很好用,很强大. 但最近发现很多任务总是莫名其妙的卡住,不报错,但是就是不继续执行. 排查了一圈,最后把问题锁定在 requests 的 timeout 机制上. 注:本文讨论的是 Python 的第三方模块 requests,并不是 Python 内建模块 urllib 中的 request 模块,请注意区分. 如何设置超时时间 requests 设置超时时间有两种方式. 一种是设置单一值作为 timeout,

  • python3 requests 各种发送方式详解

    大凡人世间的痛苦,多是因放不下有时候我常想,痛苦,该是时光刮给生命的一场飓风吧生活,本就是以这样一种特别的方式,掀起遮盖的一切,让你看到人生的真相. 一.什么是requests,怎么安装 requests 是python 的一个模拟发送请求的库, 基本上调用别人接口的时候,这个是现在主流 安装的话 直接pip就行了 pip install requests 二.requests 模块的使用 我们通常进行请求之前都会先去postman上面去模拟一遍,看是否请求的通,然后再进行接口模拟,下面的介绍都

  • python requests response值判断方式

    这段时间在技术上没太多的思考的,只是碰到几个虾米小问题. 往往问题不大,也会致使你花心思去排解. 今遇到一个reqeusts返回值的一个问题,花了不短时间调,后来发现是reqeusts返回的对象也含有 魔法函数 处理. 我这边的业务是cdn的刷新预缓存,对于该项目来说 http code 200, 2xx, 404 都是友好的. #jb51.net import requests r = None try: r = requests.get("https://jb51.net") ex

  • Python爬虫基础之requestes模块

    一.爬虫的流程 开始学习爬虫,我们必须了解爬虫的流程框架.在我看来爬虫的流程大概就是三步,即不论我们爬取的是什么数据,总是可以把爬虫的流程归纳总结为这三步: 1.指定 url,可以简单的理解为指定要爬取的网址 2.发送请求.requests 模块的请求一般为 get 和 post 3.将爬取的数据存储 二.requests模块的导入 因为 requests 模块属于外部库,所以需要我们自己导入库 导入的步骤: 1.右键Windows图标 2.点击"运行" 3.输入"cmd&q

  • python爬虫之利用Selenium+Requests爬取拉勾网

    一.前言 利用selenium+requests访问页面爬取拉勾网招聘信息 二.分析url 观察页面可知,页面数据属于动态加载 所以现在我们通过抓包工具,获取数据包 观察其url和参数 url="https://www.lagou.com/jobs/positionAjax.json?px=default&needAddtionalResult=false" 参数: city=%E5%8C%97%E4%BA%AC ==>城市 first=true ==>无用 pn=

  • python:解析requests返回的response(json格式)说明

    我就废话不多说了,大家还是直接看代码吧! import requests, json r = requests.get('http://192.168.207.160:9000/api/qualitygates/project_status?projectId=%s' % (p_uuid) ) state=json.loads(r.text).get('projectStatus').get('status') 返回如下: { "projectStatus": { "stat

  • python中requests库+xpath+lxml简单使用

    python的requests 它是python的一个第三方库,处理URL比urllib这个库要方便的多,并且功能也很丰富. [可以先看4,5表格形式的说明,再看前面的] 安装 直接用pip安装,anconda是自带这个库的. pip install requests 简单使用 requests的文档 1.简单访问一个url: import requests url='http://www.baidu.com' res = requests.get(url) res.text res.statu

  • 基于Python中request请求得到的response的属性问题

    Python中request请求得到的response,即通过request得到的数据: import requests response = requests.get(https://www.jd.com/) response 的属性 1.返回状态码 response.status_code http请求的返回状态,2XX 表示连接成功,3XX 表示跳转 ,4XX 客户端错误 , 500 服务器错误 2.返回http响应的文本内容 response.text http响应内容的字符串(str)

  • 关于Python中request发送post请求传递json参数的问题

    昨天遇到了一个奇怪的问题,在Python中需要传递dict参数,利用json.dumps将dict转为json格式用post方法发起请求: params = {"score":{"gt":"80", "lt":"90"}} request.post(url, json.dumps(params)) 但是在服务端接收到的参数日志为: Parameters: {"sno"=>"

  • Python中http请求方法库汇总

    最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带库urllib2使用的比较多,简单使用如下: import urllib2 response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true') print response.read() 简单的get请求

  • 基于Python的Post请求数据爬取的方法详解

    为什么做这个 和同学聊天,他想爬取一个网站的post请求 观察 该网站的post请求参数有两种类型:(1)参数体放在了query中,即url拼接参数(2)body中要加入一个空的json对象,关于为什么要加入空的json对象,猜测原因为反爬虫.既有query参数又有空对象体的body参数是一件脑洞很大的事情. 一开始先在apizza网站 上了做了相关实验才发现上面这个规律的,并发现该网站的请求参数要为raw形式,要是直接写代码找规律不是一件容易的事情. 源码 import requests im

  • requests在python中发送请求的实例讲解

    当我们想给服务器发送一些请求时,可以选择requests库来实现.相较于其它库而言,这种库的使用还是非常适合新手使用的.本篇要讲的是requests.get请求方法,这里需要先对get请求时的一些参数进行学习,在掌握了基本的用法后,可以就下面的requests.get请求实例进一步的探究. 1.get请求的部分参数 (1) url(请求的url地址,必需 ) import requests url="http://www.baidu.com" resp=requests.get(url

  • python中Requests请求的安装与常见用法

    目录 一.requests 二.requests安装方式 三.说说常见的两种请求,get和post 1.get请求 2.post请求 四.requests发送请求 五.response 补充:requests中遇到问题 总结 一.requests request的说法网上有很多,简单来说就是就是python里的很强大的类库,可以帮助你发很多的网络请求,比如get,post,put,delete等等,这里最常见的应该就是get和post 二.requests安装方式 $ pip install r

  • Java中Request请求转发详解

    直接来,RequestDemo5代码,get请求和post请求都请求转发了,转发到RequestDemo6请求 RequestDemo5代码 package com.lingaolu.request; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.

  • 基于python中的TCP及UDP(详解)

    python中是通过套接字即socket来实现UDP及TCP通信的.有两种套接字面向连接的及无连接的,也就是TCP套接字及UDP套接字. TCP通信模型 创建TCP服务器 伪代码: ss = socket() # 创建服务器套接字 ss.bind() # 套接字与地址绑定 ss.listen() # 监听连接 inf_loop: # 服务器无限循环 cs = ss.accept() # 接受客户端连接 comm_loop: # 通信循环 cs.recv()/cs.send() # 对话(接收/发

  • 基于python中staticmethod和classmethod的区别(详解)

    例子 class A(object): def foo(self,x): print "executing foo(%s,%s)"%(self,x) @classmethod def class_foo(cls,x): print "executing class_foo(%s,%s)"%(cls,x) @staticmethod def static_foo(x): print "executing static_foo(%s)"%x a=A(

  • 基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查是否安装了pip 打开一个终端窗口,并执行如下命令: Python2.7中: zhuzhu@zhuzhu-K53SJ:~$ pip --version pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7) Python3.X中: z

随机推荐