Python 请求模块指南:如何在 Python 中使用请求库?
已发表: 2020-03-26当您在网络上工作时,出于商业或个人目的,您可能会寻找一些信息。 或者您可能想使用网站来观看视频、上传数据或查看社交媒体。 要访问 Internet 上的所有这些资源,您必须通过浏览器向 Internet 服务器发送请求。
HTTP(超文本传输协议)是一组允许客户端和服务器之间通过 Internet 进行通信的规则。 在 Python 中编程时,您可以使用名为requests的模块发出这些请求。 要获得 Python 方面的专业知识,请查看我们的数据科学课程。
在本文中,我们将学习Python requests 模块的基础知识。
目录
Python 请求模块
Python 中的 requests 模块允许您在 Web 上交换请求。 它是一个非常有用的库,具有许多发送 HTTP 请求的基本方法和功能。 如前所述,HTTP 充当服务器和客户端之间的请求-响应系统。 您的 Web 浏览器可能是客户端,而托管您要访问的站点的系统是服务器。 查看所有重要的 python 库。
当您希望向服务器发送请求时,您会遇到两种方法:
- GET – 此方法用于从服务器请求数据。
- POST – 此方法用于向服务器提交一些数据以进行处理。
Python requests 模块有一个简单的API,您可以使用它来处理所有这些请求。 它为您提供了许多有趣的功能,例如在 URL 中传递参数、添加标头、发送自定义标头等等。
了解更多:您应该了解的 Python 模块
要开始使用 requests 模块,第一步是在 Python 中安装该模块。 为此,请在 Python 中键入以下代码:
$ pip 安装请求
如果您想使用 Pipenv,一个用于安装 requests 模块的 Python 打包工具,请输入以下代码:
$ pipenv 安装请求
安装模块后,您可以通过导入在程序中使用它。 使用以下代码:
导入请求
现在,让我们了解python请求模块中最重要的方法——GET和POST。
获取请求
此方法用于向 URL 发送 GET 请求。 这表明您正在寻找从网络上的资源获取数据。 基本语法是:
requests.get(url, params={key: value}, args)
这里, url是您要发送请求的网站的 URL。 参数是用于发送查询字符串的字典或元组列表。 args可以是 GET 方法提供的各种命名参数(可选)中的任何一个或多个。 而且,这些是:
- allow_redirects – 这是一个用于启用或禁用重定向的布尔值。 默认值:真
- auth – 这是一个启用 HTTP 身份验证的元组。 默认值:无
- cert – 这可以是一个元组或一个字符串,用于提及证书文件或密钥。 默认值:无
- timeout – 它可以是一个元组或一个数字,表示等待客户端建立连接或发送响应之前的秒数。 默认值:无
- verify – 这是一个字符串或布尔值,表示服务器的 TLS 证书验证。 默认值是true。
- cookies – 这是您要发送到指定 URL 的 cookie 字典。 默认值:无
- headers – 这是一个包含您希望发送到 URL 的 HTTP 标头的字典。 默认值:无
- stream – 它是一个布尔值 True 或 False,指示响应应该是流式传输 ( True ) 还是立即下载 ( False )。 默认值:假
- proxies – 这是代理 URL 协议的字典。 默认值:无
了解更多:用于机器学习的 Python 库
成功发送 GET 请求后,该方法将返回requests.Response 对象。 此对象存储从服务器获得的响应。 您可以将 get() 方法的结果存储在变量中。 然后,您可以检查此响应的详细信息。 在这方面对您有帮助的重要属性如下:

- response.content - 这为您提供响应数据的内容。
- response.status_code – 这为您提供了请求的状态。 例如,200 OK 表示您的请求成功,但 404 NOT FOUND 表示您的请求无法为您找到资源。
- response.cookies – 这用于获取 CookieJar 对象,其中包含您从服务器获得的所有 cookie。
POST 请求
您可以使用post() 方法将一些信息发送到服务器。 请求的基本语法是:
requests.post(url, data={key: value}, json={key: value}, args)
一些重要的参数是:
- url – 这是您要发送一些数据的 URL。 这是一个强制参数。
- data – 这是一个可选参数,用于指定要发送到 URL 的字典、文件对象或元组。
- json – 这是要发送到 URL 的 JSON 对象。
args可以是任何不同的命名参数,例如:
- files – 这是用于发送到 URL 的文件字典。
- headers – 要发送到指定 URL 的 HTTP 标头字典。
- cookies – 这表示您可能要发送的 cookie 字典。
就像 get() 一样,post() 方法也返回一个 requests.Response 对象。
包起来
上面的python 请求模块教程将帮助您发出基本的服务器请求。 要记住的一件事是 get() 方法不如 post() 安全。 这是因为在 get() 中,参数是通过 URL 传递的。 因此,可能会泄露敏感信息,例如密码。 因此,在需要交换密码或重要信息的情况下使用 post()。
如果您想了解 Python、数据科学,请查看 IIIT-B 和 upGrad 的数据科学执行 PG 计划,该计划是为在职专业人士创建的,提供 10 多个案例研究和项目、实用的实践研讨会、与行业专家的指导,与行业导师一对一,400 多个小时的学习和顶级公司的工作协助。
Python中的Request模块有什么用?
为了向任何指定的 URL 发出 HTTP 请求,Python 中使用了 Requests 库。 Python 中有几个内置功能可用于处理请求和响应。
为了向指定的 URL 发出 HTTP 请求,Python 请求模块在 HEAD、GET、PATCH、POST 和 PUT 等不同请求的帮助下使用。 发送 HTTP 请求的主要原因是从服务器检索数据或将某些数据推送到服务器。 可以说,请求将充当客户端和服务器之间发送和接收请求的桥梁。 根据要求,所有 5 种请求类型都用于不同的目的。
任何响应消息的 3 个部分是什么?
所有的 HTTP 消息都是简单的格式化数据块。 每条消息都将包含来自客户端的请求消息或来自服务器端的响应消息。 每条 HTTP 消息都分为 3 个部分:
1. 描述信息的起跑线。
2.包含所有属性的标题块。
3. 可选的正文部分,包含要传输的必要数据。
任何 HTTP 消息中的 URL 指的是资源所在的地址。 另一方面,协议将引用必须用于获取信息的 HTTP 协议。
Python 中的 POST 方法有什么作用?
通常,当必须将数据从表单发送到服务器以更新服务器中的现有数据时,会在表单中使用 POST 方法。 requests 模块提供 POST 方法,可以借助 URL 和参数值直接将数据发送到服务器。 它是一种更有可能用于提交任何 Web 表单或上传任何文件的请求方法。