官方文档传送
方法列表
已封装方法
参数 说明 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
爬取小说网站的排行榜