官方文档传送
方法列表
已封装方法
参数
说明
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
封装方法的13个关键字参数
参数
说明
1) params
字典或字节序列格式,将作为参数增加到url中。
2) data
data参数的对象一般是字典类型,在发出请求时会自动编码为表单形式。也可以是字节序列或文件对象,作为Request的内容。
3) json
JSON格式的数据,作为Request的内容。json参数会自动将字典类型的对象转换为json格式。
4) headers
字典格式,为请求添加 HTTP 头部信息,模拟浏览器进行访问。headers是解决requests请求反爬的方法之一。 headers中有很多内容,常用的是user-agent 和 host。
5) cookies
cookies参数为字典格式的数据或CookieJar 什么是cookie? 当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,这些数据就是cookie,它是为了辨别用户身份而储存在用户本地终端上的数据。cookie大部分都是加密的,cookie存在于缓存中或者硬盘中,在硬盘中的是一些文本文件,当访问该网站时,就会读取对应的网站的cookie信息。一般来说,一旦将cookie保存在计算机上,则只有创建该cookie的网站才能读取它。
6) auth
身份验证。将用户名和密码以元组形式传递给auth参数时,rqeuests 将使用HTTP的认证功能来应用凭据。
7) files
传输文件。支持在一个请求中发送多个文件。
8) timeout
用于解决请求超时的问题。以秒为单位限制请求时间,如果服务器在设定的请求时间内没有应答,将引发一个异常。
9) proxies
字典类型,设定访问代理服务器,可以增加登陆认证。
10) allow_redirects
重定向开关:True / False。默认为True,允许重定向;False禁止重定向。
11) stream
获取内容立即下载开关:True / False,默认为True。
12) verify
请求验证SSL证书开关:True / False,默认为True。
13) cert
本地SSL证书路径。用于指定一个本地有效安全证书作为客户端证书。
函数返回的响应对象的属性
属性
说明
r.status_code
HTTP请求的返回状态,200表示连接成功,404表示失败
r.text
HTTP响应内容的字符串形式,即,url对应的页面内容
r.encoding
从HTTP header中猜测的响应内容编码方式
r.apparent_encoding
从内容分析出的响应内容编码方式(备选编码方式)
r.content
HTTP响应内容的二进制形式
基础方法
方法
说明
requests.request()
构造一个请求,支撑一下各方法的基础方法
HTTP协议对资源的操作
方法
说明
GET
请求获取URL位置的资源
HEAD
请求获取URL位置资源的响应消息报告,即获得该资源的头部信息
POST
请求向URL位置的资源后附加新的数据
PUT
请求向URL位置存储的一个资源,覆盖原URL位置的资源
PATCH
请求局部更新URL位置的资源,即改变该处资源的部分内容
DELETE
请求删除URL位置存储的资源
r = requests. request( 'GET' , url, ** kwargs)
r = requests. request( 'HEAD' , url, ** kwargs)
r = requests. request( 'POST' , url, ** kwargs)
r = requests. request( 'PUT' , url, ** kwargs)
r = requests. request( 'PATCH' , url, ** kwargs)
r = requests. request( 'DELETE' , url, ** kwargs)
r = requests. request( 'OPTIONS' , url, ** kwargs)
就是说, 通过 requst库中的request这个基础的方法, 实现了 request库对 http 基本操作的方法的封装, 我们只需要简单的使用封装好的方法即可
异常问题
异常
说明
requests.ConnectionError
网络连接错误异常,如DNS查询失败、拒绝连接等
requests.HTTPError
HTTP错误异常
requests.URLRequired
URL缺失异常
requests.TooMangRedirects
超过最大重定向次数,产生重定向异常
requests.ConnectTimeout
连接远程服务器超时异常
requests.Timeout
请求URL超时,产生超时异常
r.raise_for_status()
如果不是200,产生异常requests.HTTPError
爬取小说网站的排行榜