目录
一、requests原理
Requests是python中用来响应HTTP请求,处理URL数据的框架。该库是基于urllib编写的,相较urllib,requests库更加容易操作与学习。
二、requests安装
在cmd后台中输入pip3 install requests,当显示success时完成下载
三、requests基本用法
3.1、GET请求
Get方法中输入相应url连接,结果返回一个响应对象,数据类型为requests .models. Response
Get请求可以添加请求参数,标准写法如下:
除text方法外,如果返回数据类型为str类型,则可以用json()方法,将其转化为字典数据类型,方便解析接口数据。
3.2、POST请求
post方法中输入对应url地址连接,以及部分请求参数,如下图所示:
请求参数仅在form中显示,不在url后缀中显示(get和post之间的区别)
3.3、爬取图片数据
在网页中爬取对应图片/音频/视频等二进制数据,通过with open...as上下文管理器进行保存。
3.4、上传文件
通过requests模拟提交数据,通过二进制方式读取当前目录下的文件,将其上传至url地址连接中
3.5、查看Cookies
获取cookies,其中items()方法将cookies转化成列表,在经过遍历便可打印对应信息
3.6、维持连接
代码中无论通过request.get还是request.post方法,都是相当于打开了两个不同的连接会话,这两个连接之间可以说是毫无关联的,如果说我们需要在第一个请求连接基础上直接再次获得对应的信息,则需要用Session类维持会话,如下所示:
3.7、设置代理
当需要对一个网站进行频繁或大规模爬取操作时,需要用到代理设置操作,具体参数为proxies
3.8、验证身份
Requests库中可以使用自带的身份验证功能,实现类为HTTPBasicAuth,如果确认正确,则会下发200状态码,如果不正确,则会返回401状态码。
3.9、Prepared Request
构建Request对象,写入url、data和headers参数,再调用Session的prepare_request( )方法将其转换为一个Prepared Request对象,最后调用send( )发送带对应参数的申请请求。