请问你了解Python中requests模块的详细用法和知识点吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1501个文字,预计阅读时间需要7分钟。
@tocPython requests 模块简介Python 的 requests 模块是进行网络爬虫或网络请求时最常用的第三方库之一。它以其简洁、优雅的接口而著称,是 Python 中处理 HTTP 请求的首选库。
requests 模块的特点:- 简洁易用:提供直观的 API,易于学习和使用。- 功能强大:支持多种 HTTP 方法,如 GET、POST、PUT、DELETE 等。- 请求保持:支持持久连接,提高请求效率。- 异常处理:提供清晰的异常处理机制。
官方开源地址:[https://github.com/psf/requests](https://github.com/psf/requests)官方标语:Requests is a simple, yet elegant, HTTP library
@toc
Python requests 模块是什么
Python 爬虫或网络请求时,最先接触的第三方库就是 requests,该库开源地址为:github.com/psf/requests,官方的 solgan 为 Requests is a simple, yet elegant, HTTP library。
我们在日常编码的过程中,经常执行的一个操作就是查询手册,requests 库提供了中文手册 - docs.python-requests.org/zh_CN/latest/,因此大幅度降低了学习的难度。
不过中文翻译夹带了不少翻译者的情绪化文字,阅读的时候忽略即可。
怎么用
请求参数以及请求方法
导入 requests 库之后,你首先学习到的就是 requests.get() 方法,下面首先从 get 方法的参数开始学习,下述内容在官方手册没有呈现清单,学习的时候可以直接查阅 requests 模块最新版的源码。
除 url 参数外,其余都为可选参数,即非必选。
- url:请求地址;
- params:要发送的查询字符串,可以为字典,列表,元组,字节;
- data:body 对象中要传递的参数,可以为字段,列表,元组,字节或者文件对象;
- json:JSON 序列化对象;
- headers:请求头,字典格式;
- cookies:传递 cookie,字段或 CookieJar 类型;
- files:最复杂的一个参数,一般出现在 POST 请求中,格式举例 "name":文件对象 或者 {'name':文件对象},还可以在一个请求中发送多个文件,不过一般爬虫场景不会用到;
- auth:指定身份验证机制;
- timeout:服务器等待响应时间,在源码中检索到可以为元组类型,这个之前没有使用过,即 (connect timeout, read timeout);
- allow_redirects:是否允许重定向;
- proxies:代理;
- verify:SSL 验证;
- stream:流式请求,主要对接流式 API;
- cert:证书。
以上内容就是 GET 请求中可以配置的参数,除了 GET 请求外,requests 还内置了其他的服务器请求方式,这些方法需要的参数与上述清单一致。
GET, OPTIONS, HEAD, POST, PUT, PATCH, DELETE
在 Python 爬虫的实战当中,主要以 GET 与 POST 为主,常用的参数为:url,params,data,headers,cookies,timeout,proxies,verify。
响应对象的属性与方法
使用 requests 库请求之后,会得到一个 Response 对象,掌握该对象的技巧就是了解其属性与方法,通过 dir() 函数可以获取 Response 对象的属性和方法。
help(res) print(dir(res))获取到的内容如下所示,其中有我们之前案例中常见的一些内容。
如果只将 requests 库应用在爬虫采集领域,那上述属性与方法中,比较常用的有:
属性 property
- ok:只要状态码 status_code 小于 400,都会返回 True;
- is_redirect:重定向属性;
- content:响应内容,字节类型;
- text:响应内容,Unicode 类型;
- status_code:响应状态码;
- url:响应的最终 URL 位置;
- encoding:当访问 r.text 时的编码;
方法
- json():将响应结果序列化为 JSON;
会话对象
在本专栏前面的文章中,存在一个被忽略的 requests 高级特性,即会话对象,该对象能够在跨域请求的时候,保持住某些参数,尤其是 cookie,如果你想向同一主机发送多个请求,使用会话对象可以将底层的 TCP 连接进行重用,从而带来显著的性能提升。
会话对象使用非常简单,在发起 requests 对象之前,增加如下所示代码即可。
# 建立会话对象 s = requests.Session() # 后续都使用会话对象进行进行,而不是直接使用 requests 对象 s.get('docs.python-requests.org/zh_CN/latest/api.html#requests.cookies.RequestsCookieJar 查询。requests 非常适合作为 Python 爬虫入门阶段第一选择,其简单的接口与代码封装,能大幅度降低网络请求代码编写难度,让你专注与目标数据的提取,更有基于高级请求的封装作为提高部分,该库完全可以贯穿你的整个爬虫工程师生涯。
提高场景
requests 模块目前在 Python 爬虫领域的出场率极高,很多简单的接口开发,也会基于它进行实现,因此,该模块十分重要,需要牢牢掌握
本文共计1501个文字,预计阅读时间需要7分钟。
@tocPython requests 模块简介Python 的 requests 模块是进行网络爬虫或网络请求时最常用的第三方库之一。它以其简洁、优雅的接口而著称,是 Python 中处理 HTTP 请求的首选库。
requests 模块的特点:- 简洁易用:提供直观的 API,易于学习和使用。- 功能强大:支持多种 HTTP 方法,如 GET、POST、PUT、DELETE 等。- 请求保持:支持持久连接,提高请求效率。- 异常处理:提供清晰的异常处理机制。
官方开源地址:[https://github.com/psf/requests](https://github.com/psf/requests)官方标语:Requests is a simple, yet elegant, HTTP library
@toc
Python requests 模块是什么
Python 爬虫或网络请求时,最先接触的第三方库就是 requests,该库开源地址为:github.com/psf/requests,官方的 solgan 为 Requests is a simple, yet elegant, HTTP library。
我们在日常编码的过程中,经常执行的一个操作就是查询手册,requests 库提供了中文手册 - docs.python-requests.org/zh_CN/latest/,因此大幅度降低了学习的难度。
不过中文翻译夹带了不少翻译者的情绪化文字,阅读的时候忽略即可。
怎么用
请求参数以及请求方法
导入 requests 库之后,你首先学习到的就是 requests.get() 方法,下面首先从 get 方法的参数开始学习,下述内容在官方手册没有呈现清单,学习的时候可以直接查阅 requests 模块最新版的源码。
除 url 参数外,其余都为可选参数,即非必选。
- url:请求地址;
- params:要发送的查询字符串,可以为字典,列表,元组,字节;
- data:body 对象中要传递的参数,可以为字段,列表,元组,字节或者文件对象;
- json:JSON 序列化对象;
- headers:请求头,字典格式;
- cookies:传递 cookie,字段或 CookieJar 类型;
- files:最复杂的一个参数,一般出现在 POST 请求中,格式举例 "name":文件对象 或者 {'name':文件对象},还可以在一个请求中发送多个文件,不过一般爬虫场景不会用到;
- auth:指定身份验证机制;
- timeout:服务器等待响应时间,在源码中检索到可以为元组类型,这个之前没有使用过,即 (connect timeout, read timeout);
- allow_redirects:是否允许重定向;
- proxies:代理;
- verify:SSL 验证;
- stream:流式请求,主要对接流式 API;
- cert:证书。
以上内容就是 GET 请求中可以配置的参数,除了 GET 请求外,requests 还内置了其他的服务器请求方式,这些方法需要的参数与上述清单一致。
GET, OPTIONS, HEAD, POST, PUT, PATCH, DELETE
在 Python 爬虫的实战当中,主要以 GET 与 POST 为主,常用的参数为:url,params,data,headers,cookies,timeout,proxies,verify。
响应对象的属性与方法
使用 requests 库请求之后,会得到一个 Response 对象,掌握该对象的技巧就是了解其属性与方法,通过 dir() 函数可以获取 Response 对象的属性和方法。
help(res) print(dir(res))获取到的内容如下所示,其中有我们之前案例中常见的一些内容。
如果只将 requests 库应用在爬虫采集领域,那上述属性与方法中,比较常用的有:
属性 property
- ok:只要状态码 status_code 小于 400,都会返回 True;
- is_redirect:重定向属性;
- content:响应内容,字节类型;
- text:响应内容,Unicode 类型;
- status_code:响应状态码;
- url:响应的最终 URL 位置;
- encoding:当访问 r.text 时的编码;
方法
- json():将响应结果序列化为 JSON;
会话对象
在本专栏前面的文章中,存在一个被忽略的 requests 高级特性,即会话对象,该对象能够在跨域请求的时候,保持住某些参数,尤其是 cookie,如果你想向同一主机发送多个请求,使用会话对象可以将底层的 TCP 连接进行重用,从而带来显著的性能提升。
会话对象使用非常简单,在发起 requests 对象之前,增加如下所示代码即可。
# 建立会话对象 s = requests.Session() # 后续都使用会话对象进行进行,而不是直接使用 requests 对象 s.get('docs.python-requests.org/zh_CN/latest/api.html#requests.cookies.RequestsCookieJar 查询。requests 非常适合作为 Python 爬虫入门阶段第一选择,其简单的接口与代码封装,能大幅度降低网络请求代码编写难度,让你专注与目标数据的提取,更有基于高级请求的封装作为提高部分,该库完全可以贯穿你的整个爬虫工程师生涯。
提高场景
requests 模块目前在 Python 爬虫领域的出场率极高,很多简单的接口开发,也会基于它进行实现,因此,该模块十分重要,需要牢牢掌握

