财经大数据技术应用基础 课件 Requests库的使用_第1页
财经大数据技术应用基础 课件 Requests库的使用_第2页
财经大数据技术应用基础 课件 Requests库的使用_第3页
财经大数据技术应用基础 课件 Requests库的使用_第4页
财经大数据技术应用基础 课件 Requests库的使用_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论