Request库的使用

Request库:封装了自动爬取HTML页面,自动网络请求提交的方法的库

Request库的7个主要方法:

  1. requests.request():构造一个请求,是一下个方法的基础
  2. requests.get():获取HTML网页的主要方法,对应于HTTP的GET
  3. requests.head():获取HTML网页头部信息的方法,对应HTML的HEAD
  4. requests.post():向HTML网页提交POST请求的方法,对应于HTTP的POST
  5. requests.put():向HTML网页提交PUT请求的方法,对应于HTTP的PUT
  6. requests.patch():向HTML网页提交局部修改请求的方法,对应于HTTP的PATCH
  7. requests.delete():向HTML页面提交删除请求的方法,对应于HTTP的DELETE

get()方法

r = requests.get()

r 是返回的一个包含服务器资源的Response对象,get()方法构造一个向服务器发送请求的Request对象

requests.get()

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

url:拟获取页面的url连接

params :url中的额外参数,字典或字节流格式,可选

**kwargs:12个访问控制参数

Request对象

Response包含服务器返回的所有信息,也包含了Request的请求信息

Response对象的属性

  • r.status_code:HTTP请求的返回状态,200表示成功,400表示失败
  • r.encoding:从HTTP请求的head中猜测的响应内容编码格式,默认是IOS8859-1
  • r.apparent_encoding:从返回内容中分析的编码方式(备选编码方式)
  • r.textHTTP:响应内容的字符串形式,url对应的而页面内容
  • r.contentHTTP:相应内容的二进制形式

简单爬虫demo:

import requests
def getHTMLText(url):     
    try: 
        r = requests.get(url, timeout=30)         
        r.raise_for_status() # 如果状态不是200, 引发HTTPError异常         
        r.encoding = r.apparent_encoding     
        return r.text 
    except: 
        return "产生异常" 
if __name__=="__main__":     
    url = "http://www.baidu.com"     
    print(getHTMLText(url))

Request库的异常:

  • ConnectionError:网络连接异常,如DNS查询失败、拒绝连接等
  • HTTPError:HTTP错误异常
  • URLRequest:url确实异常
  • TooManyRedirects:超过最大重定向次数异常
  • ConnectionTimeout:网络连接超时
  • Timeout:请求url超时
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值