1.安装requests

要安装requests,在终端中输入以下命令即可安装:

1 pip3 install  requests

2.发送请求

使用requests发送请求首先需要导入requests模块,然后发送get请求到网站:

1 import requests
2
3 r = requests.get("http://www.baidu.com")

发送其他类型的请求:

1 import requests
2
3 r = requests.post("http://www.xxx.com", data={"key": "value"})
4 r = requests.put("http://www.xxx.com/method", data={"key": "value"})
5 r = requests.delete("http://www.xxx.com/delete")
6 r = requests.head("http://www.xxx.com/get")
7 r = requests.options("http://www.xxx.com/get")

3.传递URL参数

如果希望为URL的查询字符串传递数据,Python提供了支持,数据会议键/值对的形式置于URL中,跟在一个问号后面。

1 import requests
2
3 r = requests.get("http://www.baidu.com/s", params={"wd": "Python"})
4
5 print(r.url)
6
7 -------输出结果---------
8 http://www.baidu.com/s?wd=Python

4.状态码

从请求的响应中获取状态码,状态码会展示请求的状态。

如,状态码为200 OK表示请求成功,404 NOT FOUND表示找不到资源,可以通过response对象的.status_code查看返回的状态码:

1 In [1]: import requests
2
3 In [2]: r = requests.get("http://www.baidu.com")
4
5 In [3]: r.status_code
6 Out[3]: 200

4.获取响应内容

我们可以读取服务器响应的内容。

1 import requests
2
3 r = requests.get("http://www.baidu.com")
4 r.encoding = "utf-8"
5 print(r.text)

说明:r.text返回的是Unicode格式,通常需要转换为utf-8,不然的话,会是乱码,通过使用r.encoding='utf-8',可以避免乱码的问题。

 5.获取二进制响应内容

1 import requests
2
3 r = requests.get("http://www.baidu.com")
4 print(r.content)
5 print(r.content.decode("utf-8"))

r.content获取二进制数据,可以用来下载视频,图片之类,如果想要看的话,可以使用r.content.decode()解码。

6.获取JSON格式内容

1 import requests
2
3 r = requests.get("http://www.xxx.com")
4 print(r.json())

使用r.json处理json数据。

7.定制请求头

当我们使用如下方式访问知乎时,是无法访问的,需要添加headers信息。

 1 r = requests.get("https://www.zhihu.com")
 2 r.encoding = "utf-8"
 3 print(r.text.encode("gbk", "ignore").decode("gbk"))
 4
 5 ------输出结果------
 6 <html>
 7 <head><title>400 Bad Request</title></head>
 8 <body bgcolor="white">
 9 <center><h1>400 Bad Request</h1></center>
10 <hr><center>openresty</center>
11 </body>
12 </html>

想要访问就必须添加headers信息:

1 import requests
2
3 headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"}
4 r = requests.get("https://www.zhihu.com", headers=headers)
5
6 r.encoding = "utf-8"
7 print(r.text.encode("gbk", "ignore").decode("gbk"))

 8.发送post请求

 1 import requests
 2
 3 data = {
 4     "name": "zhangsan",
 5     "age": "28"
 6 }
 7
 8 r = requests.post("http://httpbin.org/post", data=data)
 9
10 print(r.text)

9.响应

 1 # -*- coding:utf-8 -*-
 2 import requests
 3
 4 r = requests.get("http://www.baidu.com")
 5 # 输出请求页面的状态码
 6 print(r.status_code)
 7 # 输出请求页面的所有请求头信息
 8 print(r.headers)
 9 # 输出请求的cookies信息
10 print(r.cookies)
11 # 输出请求的地址
12 print(r.url)
13 # 打印请求的历史记录
14 print(r.history)

转载于:https://www.cnblogs.com/zhuzhaoli/p/10368396.html

第十篇 requests模块相关推荐

  1. Python之路(第二十篇) subprocess模块

    一.subprocess模块 subprocess英文意思:子进程 那什么是进程呢? (一)关于进程的相关理论基础知识 进程是对正在运行程序的一个抽象,进程的概念起源于操作系统,是操作系统最核心的概念 ...

  2. 第二十六篇 request模块使用

    心得:requests模块还是比较好用的,运用起来简单,而且结合python,爬取网页数据,那简直分分钟的事情. requests请求一般分为两种请求方式: 1 get请求:一般用来请求数据,获取数据 ...

  3. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十:SDRAM模块③ — 页读写 α...

    实验二十:SDRAM模块③ - 页读写 α 完成单字读写与多字读写以后,接下来我们要实验页读写.丑话当前,实验二十的页读写只是实验性质的东西,其中不存在任何实用价值,笔者希望读者可以把它当成页读写的热 ...

  4. Pycharm中导入requests模块详解

    这篇文章主要介绍了教你如何在Pycharm中导入requests模块,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 1.找到python的安装路径: 如果忘 ...

  5. 十篇文章速览多模态推荐系统的最新进展

    本文约3900字,建议阅读7分钟 本文介绍了十篇文章取得更好的模型效果. 为了缓解推荐系统中存在的数据稀疏以及冷启动等问题,部分研究者尝试将多模态信息引入推荐系统中,使模型在训练过程中得到更好的用户和 ...

  6. python requests模块_Python 爬虫教程 requests 模块

    经过 前边文章<简单Python爬虫教程 (一)>.简单Python爬虫教程 (二)两篇文章的学习,能写一些比较简单的爬虫了,但是还不够,这一篇文章主要介绍Requests模块,reque ...

  7. 爬虫学习笔记(三)requests模块使用

    前面在说爬虫原理的时候说了,就写代码自动化的获取数据,保存下来数据,那怎么写代码来请求一个网址,获取结果呢,就得用requests模块了. 这篇博客说一下requests模块的使用,requests模 ...

  8. python requests 示例_Python Requests模块的简单示例

    这篇文章主要为大家详细介绍了Python Requests模块的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  9. 在python中requests模块怎么安装_Python requests模块在Windows下安装

    发现一个爬虫库太方便了,而且支持python3! 安装方法在http://docs.python-requests.org/en/latest/user/install/#install很详细 只不过 ...

  10. Python接口自动化-requests模块之post请求

    ------·今天距2021年262天·------ 这是ITester软件测试小栈第111次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之get请求 ...

最新文章

  1. pytorch神经网络之卷积层与全连接层参数的设置
  2. 操作系统的进程调度简析
  3. python处理3000个excel-Python处理Excel数据的坑,一文让你不用重复犯错
  4. 查看自己电脑可以支持的最大内存量
  5. 两种选择排序算法:简单选择排序、堆排序
  6. POJ-2155 Matrix 二维线段树 | 树状数组
  7. java文本库,自定义文本库
  8. 【数学建模】聚类分析(评价与决策)
  9. openssl生成https证书 (转)
  10. Win7下的使用QTP进行猴子测试的性能日志实现方法
  11. 2020年国内电影总票房突破100亿元
  12. 最简单的SpringMVC + Maven配置
  13. android 源码打patch
  14. Android简单实现本地图片和视频选择器功能
  15. 斐讯路由器宽带运营商服务器,斐讯K2路由器的连接及上网设置教程
  16. vue回到顶部(常用)
  17. RAM Parity 和 RAM ECC
  18. 搭载专业游戏芯片,这款百元真无线耳机很强吗?开箱实测一番
  19. 如何判断测试项目是否需要高频交直流电流探头
  20. 空间解析几何 | 空间曲线与平面 几何量推导

热门文章

  1. Spring IOC源码笔记(一)
  2. Mybatis foreach逗号分隔字符串遍历方式
  3. RabbitMQ常用交换机模式总结
  4. JAVA程序设计的一次作业
  5. 菜鸟学Linux 第021篇笔记 特殊权限SUID、FACL、Linux 终端
  6. C#三层架构详细解剖
  7. Weld(CDI)教程
  8. spring mvc 从Controller向页面传数据
  9. android开发深入浅出,Android开发深入浅出RxJava(一:基础篇)
  10. webpack5+vue3搭建h5项目模板-(二)-eslint代码规范化