python网络爬虫(一):Requests库

1,.win+r进入命令行,进入python.exe目录下,输入pip install requests
Requests库的两个重要对象:
r=requests.get(url)
Response对象:包含爬虫返回的内容
Request对象
2. Reponse对象的属性:

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

注意:r.encoding对于header中不存在charset的情况,默认编码为ISO-8859-1
所以原则上r.apparent_encoding更可靠。当前者无法解码时用后者更可靠。
3.Requests库的异常

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

4.Requests库的主要方法

方法 说明
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

详解:
(1)requests.request(method,url,**kwargs):
method:请求方式,对应get/put/post等7中,如r=requests.request(‘GET‘,url,**kwargs)
url:将要获取页面的url链接
**kwargs:控制访问参数,共13个,如下:
params:字典或字节序列,做为参数增加到url中
data:字典,字节序列,或文件对象,向服务器提交资源使用
json:JSON格式的数据,作为Request的内容。
headers:字典,HTTP定制头。
cookies:字典或CookieJar,requests中的cookie
auth:元组,支持HTTP认证功能
files:字典类型,传输文件
timeout:设定超时时间,单位是秒
proxies:字典类型,设定访问代理服务器,可以增加登录认证。
allow_redirects:True/False,默认为True,重定向开关
stream:True/False,默认为True,获取内容立即下载开关
verity:True/False,默认为True,认证SSL证书开关
cert:本地SSL证书路径
(2)requests.get(url,params=None,**kwargs) **kwargs参数除开params
(3)requests.head(url,**kwargs)
由于服务器资源不可任意该,所以其他少用。

5HTTP协议(补充知识)
HTTP,Hypertext Transfer Protocol,超文本传输协议。HTTP是一个机遇“请求与响应”模式的,无状态的应用层协议。无状态指的是两次请求之间无关系。HTTP协议采用URL作为定位网络资源的标识。URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源
URL格式:http://host[:port][path]
host:合法的Internet主机域名或IP地址
port:端口号,缺省端口为80
path:请求资源的路径
HTTP对资源的操作:

方法 说明
GET 请求获取URL位置的资源
HEAD 请求获取URL位置资源的响应消息报告,即获得该资源的头部信息
POST 请求向URL位置的资源后附加新的数据
PUT 请求向URL位置存储一个资源,覆盖原URL位置的资源
PATCH 请求局部更新URL位置的资源,即改变该处资源的部分内容
DELETE 请求删除URL位置存储的资源

你可能感兴趣的:(python基础)