Advertisement

python爬虫Requests库:学习心得

阅读量:

一 Requests的介绍

requests官网

进行网页数据抓取的最佳Python库是什么?它的官方文档说明指出:Requests是一款优雅且易于使用的HTTP库,并专为方便人类使用而设计。

二 安装方法

直接使用: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

tips1

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

2. 重定向问题

在默认设置下,默认情况下除HTTP GET(HEAD)请求外(Requests会自动处理所有重定向),会默认进行重定向处理(即发送响应头包含Location头字段)。若采用其他类型的网络请求(如POST、PUT等),则需通过设置allow_redirects=False来关闭这种行为(即不再发送Location头字段)

3. 超时问题

tips

tips

tips

tips

五 Requests的高级用法

Python Requests库的高级功能应用

Python Requests库的高级功能应用

全部评论 (0)

还没有任何评论哟~