文章目录

  • requests库
    • 一、 基本概念
      • 1、 简介
      • 2、 获取
      • 3、 http 协议
        • 3.1 URL
        • 3.2 常用 http 请求方法
    • 二、 使用方法
      • 1、 基本语法
        • requests 库中的方法
      • 2、 具体使用方法
        • 2.1 get
          • 2.1.1 基本语法
          • 2.1.2 常用参数
        • 2.2 post
          • 2.2.1 基本语法
          • 2.2.2 常用参数
        • 2.3 response
        • 2.4 head
          • 2.4.1 基本语法
        • 2.5 put

requests库

一、 基本概念

1、 简介

requests 模块是 python 基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner

2、 获取

通过 pip install requests 安装 requests 库

导包:

import requests

3、 http 协议

http ,超文本传输协议,是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法,HTTP是一种基于"请求与响应"模式的、无状态的应用层协议。HTTP协议采用URL作为定位网络资源的的标识符

3.1 URL

统一资源定位符是互联网上标准资源地址。互联网上的每一个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它

URL 的一般语法格式为:

protocol://host[:port]/path/[?query]#fragment
http://www.itcast.cn/index.html?name=andy&age=18#link
组成 说明
protocol 通信协议,常用:http、https 等
host 主机(域名)
port 端口号,可选,省略时候使用方案的默认端口,如:http的默认端口为80
path 路径,由零或多个 ‘/’ 符号隔开的字符串,一般用来表示主机上的一个目录或文件地址
query 参数,以键值对的形式通过 & 来连接
fragment 片段,# 后面内容常见于链接 锚点

url是通过HTTP协议存取资源的的Internet路径,一个URL对应一个数据资源

3.2 常用 http 请求方法

方法 说明
GET 请求获取URL位置的资源
HEAD 请求获取URL位置资源的响应消息报告,即获得资源的头部信息
POST 请求向URL位置的资源后附加新的消息
PUT 请求向URL位置存储一个资源,覆盖原URL位置的资源
PATCH 请求局部更新URL位置的资源,即改变该处资源的部分内容
DELETE 请求删除URL位置存储的资源

GET,HEAD是从服务器获取信息到本地,PUT,POST,PATCH,DELETE是从本地向服务器提交信息。通过URL和命令管理资源,操作独立无状态,网络通道及服务器成了黑盒子

二、 使用方法

1、 基本语法

requests 库中的方法

方法 说明
requsts.requst() 构造一个请求,最基本的方法,是下面方法的支撑
requsts.get() 获取网页,对应HTTP中的GET方法
requsts.post() 向网页提交信息,对应HTTP中的POST方法
requsts.head() 获取html网页的头信息,对应HTTP中的HEAD方法
requsts.put() 向html提交put方法,对应HTTP中的PUT方法
requsts.patch() 向html网页提交局部请求修改的的请求,对应HTTP中的PATCH方法
requsts.delete() 向html提交删除请求,对应HTTP中的DELETE方法

主要使用 get 和 post 方法

2、 具体使用方法

2.1 get

2.1.1 基本语法
resp = requests.get(url="http://www.baidu.com")
print(resp)

resp 是一个Response对象,一个包含服务器资源的对象

2.1.2 常用参数
参数 类型 作用
params 字典 url为基准的url地址,不包含查询参数;该方法会自动对params字典编码,然后和url拼接
url 字符串 requests 发起请求的地址
headers 字典 请求头,发送请求的过程中请求的附加内容携带着一些必要的参数
cookies 字典 携带登录状态
proxies 字典 用来设置代理 ip 服务器
timeout 整型 用于设定超时时间, 单位为秒

2.2 post

2.2.1 基本语法
word = input("please input a word")
url = "https://fanyi.baidu.com/sug"
data = {  "kw": word,
}
headers = {'User-Agent': "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 96.0.4664 .93 Safari / 537.36",
}
resp = requests.get(url=url, data=data, headers=headers)
print(resp.json())
2.2.2 常用参数
参数 类型 作用
data 字典 作为向服务器提供或提交资源时提交,主要用于 post 请求
json 字典 json格式的数据, json合适在相关的html

注意:

  • data 和 params 的区别是: data提交的数据并不放在url链接里, 而是放在url链接对应位置的地方作为数据来存储
  • data 和 json 的作用类似,适用方法相同
  • get 里面的参数大部分也适用

2.3 response

属性 说明
resp.status_code http请求的返回状态,若为200则表示请求成功。
resp.raise_for_status() 该语句在方法内部判断resp.status_code是否等于200,如果不等于,则抛出异常
resp.text http响应内容的字符串形式,即返回的页面内容
resp.encoding 从http header 中猜测的相应内容编码方式
resp.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)
resp.content http响应内容的二进制形式
resp.json() 得到对应的 json 格式的数据,类似于字典

2.4 head

2.4.1 基本语法
url = "http://www.baidu.com"
headers = {'User-Agent': "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 96.0.4664 .93 Safari / 537.36",
}
resp = requests.head(url=url)
print(resp.headers)

resp.headers 方法反馈头部内容,很少网络流量获得概要信息

2.5 put

python接口自动化

  • put请求的作用:更新资源

其语法和 post 请求的语法类似

put 和 post 区别:

  • 新建一条记录的话就用post
  • POST 方法被用于请求源服务器接受请求中的实体作为请求资源的一个新的从属物
  • 更新一条记录的话就用put
  • PUT方法请求服务器去把请求里的实体存储在请求URI标识下

Python中requests库相关推荐

  1. python中requests库的用途-数据爬虫(三):python中requests库使用方法详解

    有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...

  2. python中requests库的用途-python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...

  3. python中requests库入门及写入文件

    1.python中requests库入门 import requests r = requests.get("https://www.baidu.com") print(r.sta ...

  4. python网络爬虫系列教程——python中requests库应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python中requests库的基础应用,网页数据挖掘的常用库之一.也就是说最主要的功能是从网页抓取数据. 使用前需要先联网安装reques ...

  5. python中requests库获取东方财富网动态指数行情数据

    利用python中requests获取动态股市指数行情数据 这里数据来源为东方财富网,代码如下: #coding="utf-8" import requests from time ...

  6. python中requests库的用途-Python.Requests库的基本使用

    Requests安装 使用pip安装命令: pip install requests 打开cmd,输入python然后导入requests如果安装成功没有任何提示 如果提示如下则说明安装失败 Impo ...

  7. python中requests库的用途-python中requests.session的妙用

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 1.requests库的session对象能够帮我们跨请求保持某些参数,也会在 ...

  8. python中requests库的用途-python中requests库的post请求

    用python来验证接口正确性,主要流程有4步: 1 设置url 2 设置消息头 3 设置消息体 4 获取响应 5 解析相应 6 验证数据 Content-Type的格式有四种:分别是applicat ...

  9. python get方法列表参数_python中requests库get方法带参数请求

    起因是想爬五等分的花嫁的漫画.这是其中的一个坑 先上代码 data={ 'cid':567464, 'page':, 'key':'', 'language':1, 'gtk':6, '_cid':5 ...

最新文章

  1. 改变2020年及未来的8大人工智能趋势
  2. github 克隆项目过慢
  3. Vue+Openlayers中实现地图旋转
  4. 就业模拟试题_Java
  5. 每天一道LeetCode-----寻找二叉搜索树中第k小的元素
  6. sql server 2005 sa登录失败解决方法
  7. java异步处理同步化_java 异步查询转同步多种实现方式:循环等待,CountDownLatch,Spring EventListener,超时处理和空循环性能优化...
  8. VC实现在ListBox中选择背景位图
  9. C++:fseek( FILE *stream, long offset, int origin )
  10. 蓝桥杯评分标准_新闻 | 人工智能学院创新创业实践中心开展蓝桥杯国赛经验分享会...
  11. contains an expression but should be a constant
  12. linux_grep操作
  13. python求一组数的最大值和平均值_在python中找到一列数据的最小最大值和平均值...
  14. 学术规范作业——心得体会
  15. (开源)带有笔顺的字体
  16. 计算机专业各种书籍整理
  17. 备份方案技术及应用【10】
  18. 计算机网络复习题第四章(标有课本知识点)
  19. 人机交互 交互形式和交互设备
  20. Python基础知识点梳理

热门文章

  1. UML类图中连接线与箭头的含义(转)
  2. 表单验证[用户名、邮箱、密码、重复密码]
  3. 福科软件联手农贸企业打造乡镇车销运作方案
  4. Webug4.0靶场通关
  5. 【小伟哥AI之路】Python之sanic异步框架使用精解
  6. 决策树(一) 信息熵 基尼系数
  7. Linux下配置JDK
  8. echarts 地图展示数据错误/中国地图显示异常
  9. yolov5中修改fitness
  10. 金三银四-帮你改简历:助你有份好工作