1.Requests库的
requests详细介绍
这里面包含了基本的安装下载知识以及使用的描述
Requests库的7个主要方法
关于requests.get()方法的参数设置:
我们一般是封装成自己的函数调用
(1)response对象
Response的对象一般是包含服务器返回的所有信息,也包含请求的Request信息
Response对象的属性(1)
分别使用上述的对象属性输出结果如上图所示
关于response的编码:
简单说,网络上的资源它都有它的编码,如果没有编码,我们将没有办法将资源变得人类可读,所以需要编码这样的一个概念,而且,如果从服务器返回的headers中不存在charset,则认为编码为ISO-8859-1,这样是我们访问百度看到的是这样的一个编码
因此,这个又设置了一个apparent_encoding的属性,使得可以从内容中分析出响应内容的编码方式,也就是备选编码方式,从原理上来讲,apparent_encoding是比encoding更加的详细,因为后者只是在headers从分析,而前者是从网页内容分析
所以我们在用encoding不能正确解码的时候,就需要用后面的属性去进行解码,使得内容可读
(2)爬取网页的通用代码框架
网页链接经常会出现各种各样的问题,所以这样的链接风险很大,因此需要异常处理
关于requests库的链接异常
下面这个是经常和异常打交道的方法
在使用了这个方法之后,只要不是返回200,则说明这个访问出现了问题,因此方便于try-except语句的异常处理
看一下通用代码框架:
如果没有进行异常处理,则会显示这样的结果
使用之后的结果:
(3)HTTP协议
HTTP协议对资源的操作
下面上一个帮助理解的图:
通过URL和命令管理资源,操作独立无状态,网络同道以及服务器成为了黑盒子
这里要理解PATCH和PUT的区别
关于HTTP协议和requests库的功能都是对照一致的
(4)Requests库方法的代码使用
(5)Requests库的方法解析
method这个参数就可以输入上面的一些方法名字,是按照字符串的形式传入参数
关于控制访问的参数,就是可以按照自己规定的要求访问,比如下面的例子(这里传入的是params=kv),这样在访问这个网址的时候就不在只是访问这个网址的主要,而是带有一些参数,网页会根据参数过滤,饭后过滤后面的网页信息
除了params,还有其他的控制访问参数
介绍了上面的一个方法,我们看看其他的六个方法的调用参数:
这里面的一些控制访问参数和第一个的大同小异,可以举一反三