VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python爬虫 >
  • Requests库的使用

  1. 发起请求
  2. 接收响应
  3. session对象

发起请求

请求方法

get、post、head、options、delete、put

 

传递URL参数

构造一个字典,并在请求时将其传递给params参数

提交数据时,遇到相同的参数名,但有不同的值,而python的字典又不支持键的重名,可以把键的值用列表表示

 

自定义Headers

 

自定义Cookies

在headers中添加

cookies参数(必须为字典形式)

 

设置代理(proxies参数)

 

重定向

allow_redirects=False 禁止重定向

history 属性可以查看历史记录,从哪个网站过来的,重定向过来的会显示重定向的状态码

 

禁止证书验证

把verify参数设置为False

禁止证书验证后,会有warning

 

关闭警告

from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

 

设置超时      timeout属性

以流形式下载    stream=True

 

 

 

接收响应

响应内容

text属性,返回的是文本内容

 

字符编码

Requests会自动的根据响应的报头来猜测网页的编码是什么,然后根据猜测的编码来解码网页内容,基本上大部分的网页都能够正确的被解码

而如果发现text解码不正确的时候,就需要自己手动的去指定解码的编码格式

 

二进制数据

如果需要获得原始的二进制数据,那么使用content属性即可

 

json数据

如果访问之后获得的数据是JSON格式的,那么可以使用json()方法,直接获取转换成字典格式的数据

 

状态码

通过status_code属性获取响应的状态码

 

响应报头

headers属性

 

服务器返回的cookies

cookies属性

 

查看访问的url

url属性

 

 

 

Session对象

在Requests中,实现了Session(会话)功能,当我们使用Session时,能够像浏览器一样,在没有关闭浏览器时,能够保持住访问的状态

这个功能常常用于登陆之后的数据获取,使我们不用再一次又一次的传递cookies

 

首先生成一个Session对象,然后用这个Session对象来发起访问,发起访问的方法与正常的请求一摸一样

 

需要注意的是,如果是在get()方法中传入headers和cookies等数据,那么这些数据只在当前这一次请求中有效

如果想要让一个headers在Session的整个生命周期内都有效的话,需要进行设置:session.headers.updata(headers)

 

 


相关教程