requests库入门(上)
♔零 前言
本系列是pytho爬虫的学习笔记,根据北京理工大学 Python网络爬虫与信息提取mooc整理。本文主要阐述了requests库的基本知识以及爬取页面的通用框架。
♔壹 requests库的安装
pip是个好东西
1 | pip install requests |
♔贰 requests库中的方法
♔0. 七种方法:
- requests.request()
- requests.get()
- requests.head()
- requests.post()
- requests.put()
- requests.patch()
- requests.delete()
所有方法本质上都是Requests方法
♔1. get()方法
1 | r=requests.get(url,params=None,**kwargs) |
♔叁 requests库中两个重要对象
♔0.response对象及request对象
在
1 | r=requests.get() |
中,等号前的部分,称为response对象(其中包含服务器返回的所有信息,也包含request请求的所有信息);等号后的部分称为request对象。
♔1. Response对象的属性
属性 | 说明 |
---|---|
r.status_code | HTTP请求返回的状态,200成功,404失败 |
r.text | HTTP响应内容的字符串形式,即url的页面内容 |
r.encoding | 从HTTP header中猜测的响应内容的编码方式 |
r.apparent_encoding | 从内容分析出的响应内容编码方式(备选编码方式) |
r.content | HTTP响应内容的二进制形式 |
♔肆 requests库的异常
异常 | 说明 |
---|---|
requests.ConnectionError | 网络连接错误异常,如DNS查询失败、拒绝连接等 |
requests.HTTPError | HTTP错误异常 |
requests.URLRequired | URL缺失异常 |
requests.TooManyRedirects | 超过最大重定向次数,产生重定向异常 |
requests.ConnectionTimeout | 连接远程服务器超时异常 |
requests.Timeout | 请求URL超时,产生超时异常 |
r.raise_for_statues() | 如果不是200,产生异常 requests.HTTPError |
♔伍 爬取页面通用框架
1 | import requests |