python爬虫Requests库:学习心得

一 Requests的介绍

    requests官网

   爬取网页最好的python库,官网描述:Requests is an elegant and simple HTTP library for Python, built for human beings.

二 安装方法

    直接使用:pip install requests

三 Requests基本使用

    1. Requests库的7个主要方法

方法 说明
requests.request() 构造一个请求,支撑以下各方法的基础方法
requests.get()

获取HTML网页的主要方法,对应于HTTP的GET

requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD
requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST
requests.put()

向HTML网页提交PUT请求的方法,对应于HTTP的PUT

requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete() 向HTML页面提交删除请求,对应于HTTP的DELETE

    2. 使用demo

    

    3. Response对象的基本属性

属性 说明
r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败
r.text HTTP响应内容的字符串形式,即,url对应的页面内容
r.encoding 从HTTP header中猜测的响应内容编码方式
r.apparent_encoding 从内容中分析出的响应内容编码方法
r.content HTTP响应内容的二进制形式

    4. Requests库的异常

异常 说明
requests.ConnectionError 网络连接错误异常,如DNS查询失败,拒绝连接等
requests.HTTPError     HTTP错误异常
requests.URLRequired URL缺失异常
requests.TooManyRedirects 超过最大重定向次数,产生重定向异常
requests.ConnectTimeout 连接远程服务器超时异常
requests.Timeout 请求URL超时,产生超时异常

    5. 爬取通用代码框架


四 Requests查漏补缺

    1. 更加复杂的POST请求

        

    【tips1】如果发送一个非常大的文件作为form-data请求,那就要将请求做成数据流,第三方包支持requests-toolbelt。

    【tips2】HTTP头部大小写不敏感。

     2. 重定向问题

    默认情况下, 除了HEAD,Requests会自动处理所有重定向,如果使用的是其他的请求,可以通过allow_redirects参数禁用重定向处理。


     3. 超时问题

   【tips】timeout --> 明确告诉requests在经过以timeout参数设定的秒数后停止等待相应,基本上所有的生产代码都应该使用这一参数,如果不使用,你的程序可能会永远失去响应。

五 Requests的高级用法

Requests的高级用法


猜你喜欢

转载自blog.csdn.net/chenzao123/article/details/79447620