版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Requests库的使用Requests库概述Requests库是一个简洁且简单的处理HTTP请求的第三方库,它的最大优点是程序编写过程更接近正常URL访问过程。这个库建立在Python语言的urllib3库的基础上,类似这种在其他函数库之上再封装功能、提供更友好函数的方式在Python语言中十分常见。Requests库支持非常丰富的链接访问功能,包括国际域名和URL获取、HTTP长连接和连接缓存、HTTP会话和Cookie保持、浏览器使用风格的SSL验证、基本的摘要认证、有效的键值对Cookie记录、自动解压缩、自动内容解码、文件分块上传、HTTP(S)代理功能、连接超时处理、流数据下载等。Requests库基本使用方法1.实现一个HTTP的请求Requests模块可以支持HTTP协议中的全部请求方式,HTTP常用请求方式有GET、POST、PUT、DELETE、HEAD、OPTION,其中以GET请求最为常用,get方法示例如下图所示。GET示例Requests库基本使用方法2.HTTP请求的响应与编码响应是服务端返回给用户展示的数据,requests模块获取HTTP响应的主要方法为.text和.content,示例代码如下:importrequestsres=requests.get("")print("content---->"+str(res.content))print("text---->"+res.text)print("encoding---->"+res.encoding)res.encoding="utf-8"#设置编码格式为UTF-8(注:解决乱码问题)print("text---->"+res.text)其中res.content返回的是字节形式,res.text返回的是文本形式,res.encoding返回的是根据HTTP头猜测的网页编码格式。Requests库基本使用方法2.HTTP请求的响应与编码5输出结果中:res.text在输出结果中,控制台看到的内容为乱码,如下图所示。Requests库基本使用方法产生上述问题是由于requests猜测编码错误,导致解析文本出现乱码。requests也提供了解决方案,可以自行设置编码格式,res.encoding=”utf-8”来解决了乱码问题,如下图所示。importrequestsres=requests.get("")print("content---->"+str(res.content))print("text---->"+res.text)print("encoding---->"+res.encoding)res.encoding="utf-8"#设置编码格式为UTF-8(注:解决乱码问题)print("text---->"+res.text)6运行结果如下图所示2.HTTP请求的响应与编码Requests库基本使用方法3.HTTP请求头处理importrequestsuser_agent="Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/97.0.4692.99Safari/537.36"header={"user-agent":user_agent}res=requests.get("",headers=header)print(res.content)requests模块处理HTTP请求头非常简单,只需在请求方法get()或post()中,添加headers参数即可,示例以get()方法为例,代码如下所示。Requests库基本使用方法3.HTTP请求头处理importrequestsuser_agent="Mozilla/5.0
(Windows
NT
10.0;
Win64;
x64)
AppleWebKit/537.36
(KHTML,
like
Gecko)
Chrome/97.0.4692.99
Safari/537.36"header={"user-agent":user_agent}res=requests.get("",headers=header)if
res.status_code==requests.code.ok: print(res.status_code)
#响应码 print(res.headers.get('content-type'))else: print("请求响应异常")获取响应码使用requests中的status_code字段,获取响应头使用requests中的headers字段,示例代码如下:Requests库基本使用方法4.Cookie处理importrequestsuser_agent="Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/97.0.4692.99Safari/537.36"header={"user-agent":user_agent}cookies=dict(name='diye',age='10')r=request.get('',headers=header,cookies=cookies)print(r.content)Cookie的主要用途是存储用户在特定网站上的用户认证信息,以便后期浏览网站。可以使用自定义Cookie实现自动认证过程,只需在请求方法(get、post)函数中添加cookies参数即可。使用方式如下:Requests库基本使用方法importrequestsloginUrl="/login"s=requests.Session()res=s.get(loginUrl,allow_redirects=true)datas={"name":"xxx","password":"xxx"}res=s.post(loginUrl,data=datas,allow_redirects=true)print(res.text)4.Cookie处理requests还提供了一个session的概念,即可以使用session会话对象跨请求保持某些参数,比如使用session成功的登录了某个网站,则可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职植物保护(农药残留检测)试题及答案
- 2025年中职(大数据与会计)财务管理基础试题及答案
- 2025年中职(畜牧兽医)动物防疫阶段测试题及答案
- 2025年高职测绘与地理信息技术(测绘地理信息)试题及答案
- 2024指挥中心建设白皮书
- 2026广东广州市白云区人民政府棠景街道办事处第一次招聘政府雇员9人备考题库及答案详解一套
- 2026中国科学院高能物理研究所党委办公室主任岗位招聘1人备考题库及1套参考答案详解
- 2025年铁岭市事业单位公开招聘动物检疫岗位工作人员77人备考题库及参考答案详解1套
- 2026中国科学院长春光学精密机械与物理研究所动态成像室学术秘书招聘1人备考题库(吉林)及答案详解1套
- 2026河南郑州轨道工程职业学院寒假教师与辅导员招聘76人备考题库有完整答案详解
- 河道治理、拓宽工程 投标方案(技术方案)
- 政治审查表(模板)
- 《最奇妙的蛋》完整版
- 三年级科学上册苏教版教学工作总结共3篇(苏教版三年级科学上册知识点整理)
- 种子室内检验技术-种子纯度鉴定(种子质量检测技术课件)
- SEMI S1-1107原版完整文档
- 心电监测技术操作考核评分标准
- 2023年中级财务会计各章作业练习题
- 金属罐三片罐成型方法与罐型
- 大疆植保无人机考试试题及答案
- 《LED显示屏基础知识培训》
评论
0/150
提交评论