requests 模块用于发送HTTP请求,并对请求信息进行简单处理。


7个主要方法


① request

    requests.request(method, url, **kwargs):构造一个请求,支撑以下各方法的基础方法。

    method :请求方式,对应get/post等

    url :网页链接

    **kwargs :关键字参数,可选,共13个


② get

    requests.get(url, params, **kwargs):从指定的资源请求数据,是获取HTML网页信息的主要方法,对应HTTP的GET。

    params :字典或字节序列格式,将作为参数增加到url中,可选


③ post

    requests.post(url, data, json, **kwargs):向指定的资源提交要被处理的数据,对应HTTP的POST。

    data :data参数的对象一般是字典类型,在发出请求时会自动编码为表单形式

    json :json参数会自动将字典类型的对象转换为json格式


④ head

    requests.head(url, **kwargs):获取HTML网页头部信息方法,对应HTTP的HEAD。


⑤ put

    requests.put(url, data, **kwargs):向HTML网页提交PUT请求的方法,对应HTTP的PUT。


⑥ patch

    requests.patch(url, data, **kwargs):向HTML网页提交局部修改请求,对应于HTTP的PATCH。


⑦ delete

    requests.delete(url, **kwargs):向HTML页面提交删除指定资源的请求,对应HTTP的DELETE。



13个关键字参数


**kwargs:控制访问的参数,均为可选项。


1)params

字典或字节序列格式,将作为参数增加到url中。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java


2)data

data参数的对象一般是字典类型,在发出请求时会自动编码为表单形式。也可以是字节序列或文件对象,作为Request的内容。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_02


3)json

JSON格式的数据,作为Request的内容。json参数会自动将字典类型的对象转换为json格式。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_03


4)headers

字典格式,为请求添加 HTTP 头部信息,模拟浏览器进行访问。headers是解决requests请求反爬的方法之一。 headers中有很多内容,常用的是user-agent 和 host。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_04


5)cookies

cookies参数为字典格式的数据或CookieJar

什么是cookie?

当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,这些数据就是cookie,它是为了辨别用户身份而储存在用户本地终端上的数据。cookie大部分都是加密的,cookie存在于缓存中或者硬盘中,在硬盘中的是一些文本文件,当访问该网站时,就会读取对应的网站的cookie信息。一般来说,一旦将cookie保存在计算机上,则只有创建该cookie的网站才能读取它。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_05


6)auth

身份验证。将用户名和密码以元组形式传递给auth参数时,rqeuests 将使用HTTP的认证功能来应用凭据。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_06


7)files

传输文件。支持在一个请求中发送多个文件。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_07


8)timeout

用于解决请求超时的问题。以秒为单位限制请求时间,如果服务器在设定的请求时间内没有应答,将引发一个异常。


9)proxies

字典类型,设定访问代理服务器,可以增加登陆认证。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_08


10)allow_redirects

重定向开关:True / False。默认为True,允许重定向;False禁止重定向。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_09

什么是重定向?

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_10


11)stream

获取内容立即下载开关:True / False,默认为True。


12)verify

请求验证SSL证书开关:True / False,默认为True。


13)cert

本地SSL证书路径。用于指定一个本地有效安全证书作为客户端证书。

Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_11


响应对象的5种属性


① r.status_code

HTTP请求的返回状态,200为正常,404为错误。


② r.raw

HTTP响应内容的原始形式。


③ r.text

HTTP响应内容的字符串形式,即url对应的页面内容。获取文本一般使用 r.text。


④ r.content

HTTP响应内容的字节形式(二进制形式 )。获取图片或文件一般使用 r.content。


⑤ r.encoding

HTTP响应正文的编码,它的值可能是从HTTP响应头部或正文中解析出来的。

当解析的编码方式不准确时,可以手动指定一种编码方式。如,r.encoding = ' utf-8 ' 。   


get 和 post 请求方式的区别


Python爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性_java_12


扩展知识:HTTP


HTTP(Hypertext Transfer Protocol),超文本传输协议,是一种建立在TCP上的无状态连接,整个基本的工作流程是客户端发送一个请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后开始处理请求,并根据请求做出相应的动作访问服务器资源,最后把响应结果返回给客户端。

HTTP协议采用URL作为定位网络资源的标识。


------------------- End -------------------

https://mp.weixin.qq.com/s/lkNrkMetcAnz68hR6N90fw