Python网络爬虫之Requests库的使用(二)

接上节:


Cookies


我们可以利用cookies变量拿到一个站点响应包含的cookie信息,上代码:

还可以利用cookies参数向服务器发送cookie信息,上代码:


运行结果如下:


超时设置


最大请求时间可以通过timeout参数来设置,上代码:

requests.get('http://www.baidu.com', timeout=0.001)


需要注意的是这里的超时只是连接超时,并不是响应体动作的时间,比如一个下载需要很长时间,这个参数没什么作用的。


会话对象


当我们对同一个url进行两次请求时,就相当于用两个不同的浏览器单独打开的效果,也就是两次请求并不在同一个回话中,上代码:

运行结果是:

很明显,设置的cookie信息,并没有在第二次请求中获取到,也就是两次请求不在同一个回话中,解决方法如下:

运行结果如下:

从结果上看,第一次请求设置的cookie信息,在第二次请求中获取到了,说明两次请求时在同一个会话中。


会话是一个全局的配置,所以一些请求中参数的设置也是全局的,如下:

代码中首先通过s.headers.update方法对headers进行了更新,后又在get方法中对headers进行了设置,那么运行结果是什么那?如下:


可见由于在同一会话中,故而两个headers值都传进去了。


SSL证书验证


现在的网站都是https协议的,Requests提供了验证SSL证书的功能,参数为verify,我们利用下面代码来验证12306网站的证书是无效的,代码如下:

运行结果如下:

OSError: Could not find a suitable TLS CA certificate bundle, invalid path: true


可见12306站点的SSL果然无效。


代理


如果我们在请求中需要设置代理信息,可以使用proxies参数,代码如下:


运行结果如下:


完结!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容