Python关于requests库的整理

r=requests.get(url,params=None,**kwargs)

使用get函数会内部生成一个Request对象,以及一个Response对象(也就是 r );

Response对象®包含了Request对象发送的全部信息以及爬虫返回的全部内容;

  1. URL:全称为Uniform Resource Locator统一资源定位符,包含了协议,服务器名称,路径和文件名等信息。API:全称为application programming interface;应用程序编程接口;
  2. params:字典或字符串格式作为参数增加到url中,是额外参数。
  3. **kwargs:代表十二个控制访问的参数;
  4. data:字典,字符串或文件对象,作为Request对象的内容;
  5. json: JSON格式的数据作为Request对象的内容;
  6. headers:字典,HTTP头部信息;目的是将请求伪装成诸如浏览器,使用post方法向服务器发起访问;
  7. cookies:字典或者CookieJar,Request中的cookie;
  8. auth:元组,支持HTTP认证功能;
  9. files: 字典类型,向服务器传输文件;
  10. timeout: 设定超时时间,单位秒;
  11. proxies:字典类型,设定访问代理服务器,可以增加登录认证;
  12. allow_redirects:True/False,默认为True,重定向开关; //高级功能使用
  13. stream: 布尔值,默认为真,获取内容立即下载开关;//高级功能使用
  14. verify:布尔值,默认为真,认证SSL证书开关; //高级功能使用
  15. cert:保存本地SSL证书路径; //高级功能使用

以上3-15这13个参数通过赋值的方法来调用

requests库的七个主要方法:
 requests.request(method,url,**kwargs)

 requests.get(url,params=None,**kwargs)
 requests.head(url,**kwargs) 
 requests.post(url,data=None,json=None,**kwargs)
 requests.put(url,data=None,**kwargs)
 requests.patch(url,data=None,**kwargs)
 requests.delete(url,**kwargs)
  • request方法:向url页面构造一个请求,其余六种方法通过调用封装好的request函数来实现的;
  • get方法: 获取一个HTML页面的信息;对应于HTTP的GET;
  • head方法:获取HTML网页的头部信息;对应于HTTP的HEAD;
  • post方法:向HTML网页提交POST请求;对应于HTTP的POST;(根据提交内容的不同,自动存储信息为form形式或者data形式)
  • put方法:向HTML网页提交PUT(全局修改)请求;对应于HTTP的PUT;(根据提交内容的不同,自动存储信息为form形式或者data形式)
  • patch方法:向HTML网页提交局部修改请求;对应于HTTP的PATCH;
  • delete方法:向HTML网页提交删除请求;对应于HTTP的DELETE;
通用代码框架:
try:
    r=requests.get(url,timeout=30)
    r.raise_for_status()
    r.encoding=r.apparnet_encoding()
    return r.text
except:
    return"产生异常"
Response对象的属性:
  • r.status_code: HTTP请求返回的状态,200表示成功,404和其他表示失败;
  • r.text: 响应内容的字符串形式;
  • r.encoding: 从响应内容的头部信息来推断编码形式
  • r.apparent_encoding: 从响应内容的内容信息来推断编码形式;
  • r.content: 将爬取到的响应内容的二进制形式还原成响应内容;
  • Response对象提供了一个单独的方法raise_for_status()方法, r.raise_for_status() : HTTP的请求返回状态不是200则产生 request.HTTPError;
requests库的异常处理:
  • requests.ConnectionError: 网络连接错误异常,如DNS查询失败,拒绝连接等;
  • requests.HTTPError: HTTP错误异常
  • requests.URLRequired: URL缺失异常
  • requests.TooManyRedirects: 超过最大重定向次数,产生重定向异常;
  • requests.ConnectTimeout: 连接远程服务器超时异常;
  • requests.Timeout: 请求URL超时,产生超时异常;
HTTP协议:Hypertext Transfer Protocol 超文本传输协议;是一个基于“请求与响应”模式的,无状态的(非时序)应用层协议;
  • host: Internet主机域名或IP地址;
  • port: 端口号,缺省端口默认为80;
  • path: 请求资源的路径;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值