Python_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

封装方法的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





爬取小说网站的排行榜

发布了160 篇原创文章 · 获赞 146 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44510468/article/details/104094808
今日推荐