实例详解python之requests模块
本篇文章给大家带来了关于python的相关知识,其中主要介绍了requests模块的相关问题,Requests模块是一个用于网络请求的模块,主要用来模拟浏览器发请求,希望对大家有帮助。
推荐学习:python学习教程
Requests模块是一个用于网络请求的模块,主要用来模拟浏览器发请求。其实类似的模块有很多,比如urllib,urllib2,httplib,httplib2,他们基本都提供相似的功能。但是这些模块都复杂而且差不多过时了,requests模块简单强大高效,使得其在众多网络请求模块中脱引而出。
requests使用
环境安装:pip install requests
使用流程:
- 指定url
- 基于requests模块发送请求
- 获取响应对象中的数据值
- 持久化存储(不是必须的)
案例:爬取百度首页的数据
#1. 导包 import requests #2. 指定url url = "https://www.baidu.com" #3. 使用GET方法发送请求,该方法会返回一个响应对象 response = requests.get(url=url) #4. 获取响应数据 print(response.status_code) # 打印状态码 print(response.url) # 打印请求url print(response.headers) # 打印响应头头信息 print(response.text) #以文本形式打印网页源码 #保存数据 response.encoding = 'utf-8' #指定编码格式,不然打开乱码 text = response.text with open('./2.html','w',encoding='utf-8') as f: f.write(text)
解决requests请求的数据中文乱码问题——》requests请求返回内容 中文乱码问题
requests请求方法
上面的案例requests发送了一个GET请求方法,除此之外还有其他的请求方法。最常用的就是GET和POST方法。
- res = requests.get ()
- res = requests.post ()
- res = requests.put ()
- res = requests.delete ()
- res = requests.head ()
- res = requests.options ()
且在指定方法发送请求的时候,有时候还需要在请求方法括号中requests.get(url=url, xx = xx)指定一些参数,如下。先了解一下
方法 |
参数名字 |
HTTP头部 |
headers |
GET参数 |
params |
POST参数 |
data |
文件 |
files |
Cookies |
cookies |
重定向处理 |
allow_ redirects = False/True |
超时 |
timeout |
证书验证 |
verify = False/True |
工作流(延迟下载) |
stream=False/ True |
事件挂钩 |
hooks=dict(response=) |
身份验证 |
auth= |
代理 |
proxies= |
requests响应对象属性
在上面爬取百度首页时,response = requests.get(url=url)其返回的是一个响应对象,而如果我们想要获取具体的数据比如响应码或者网页源码时,就需要通过指定响应对象的属性进行获取。如response.status_code获取响应码
- 获取请求url res. url
- 状态码 res. status_code
- 响应数据(以字符串形式) res . text
- 返回的是一个原生字符串,是bytes类型 res. content
- 查看服务器响应头 res. headers
- 查看cookie res.cookies
推荐学习:python教程
以上是实例详解python之requests模块的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

Python参数注解的另类用法在Python编程中,参数注解是一种非常有用的功能,可以帮助开发者更好地理解和使用函...

Python入门:沙漏图形绘制及输入校验本文将解决一个Python新手在沙漏图形绘制程序中遇到的变量定义问题。代码...

使用Python破解验证码的探索在日常的网络交互中,验证码是一种常见的安全机制,用以防止自动化程序的恶意操...

Python脚本如何在特定位置清空输出到光标位置?在编写Python脚本时,如何清空之前的输出到光标位置是个常见的...

Python跨平台桌面应用开发库的选择许多Python开发者都希望开发出能够在Windows和Linux系统上都能运行的桌面应用程...

在Python中,如何通过字符串动态创建对象并调用其方法?这是一个常见的编程需求,尤其在需要根据配置或运行...
