请求库的基本用法是什么

  

请求库的基本用法是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

<强>前言

之前我们用了urllib库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助。入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取,那么这一节来简单介绍一下请求库的基本用法。

注:Python版本依然基于2.7

<强>官方文档

以下内容大多来自于官方文档,本文进行了一些修改和总结。要了解更多可以参考

<强>安装

利用脉冲安装

,美元pip  install 

或请求者利用easy_install

,美元easy_install 请求

通过以上两种方法均可以完成安装。

<强>引入

首先我们引入一个小例子来感受一下

import 请求   ,   时间=r  requests.get (& # 39; http://cuiqingcai.com& # 39;)   print 类型(r)   print  r.status_code   print  r.encoding   # print  r.text   print  r。饼干

以上代码我们请求了本站点的网址,然后打印出了返回结果的类型,状态码,编码方式,饼干等内容。

运行结果如下

& lt; class  & # 39; requests.models.Response& # 39;比;   200   utf - 8   & lt; RequestsCookieJar[]在

怎样,是不是很方便。别急,更方便的在后面呢。

<>强基本请求

请求库提供了http所有的基本请求方式,例如

r =, requests.post (“http://httpbin.org/post")   时间=r  requests.put (“http://httpbin.org/put")   时间=r  requests.delete (“http://httpbin.org/delete")   时间=r  requests.head (“http://httpbin.org/get")   r =, requests.options (“http://httpbin.org/get")

嗯,一句话搞的定。

<>强基本得到请求

最基本的就请求可以直接用得到方法

r =, requests.get (“http://httpbin.org/get")

如果想要加参数,可以利用参数参数

import 请求   ,   payload =, {& # 39; key1& # 39;:, & # 39; value1 # 39;,, & # 39; key2& # 39;:, & # 39; value2 # 39;}   时间=r  requests.get (“http://httpbin.org/get",, params=有效负载)   print  r。url

运行结果

http://httpbin.org/get?key2=value2& key1=value1

如果想请求JSON文件,可以利用JSON()方法解析

例如自己写一个JSON文件命名为a。json,内容如下

(“foo",,“bar",, {   “foo"才能:,“bar"   }]

利用如下程序请求并解析

import 请求   ,   时间=r  requests.get (“a.json")   print  r.text   print  r.json ()

运行结果如下,其中一个是直接输出内容,另外一个方法是利用json()方法解析,感受下它们的不同

(“foo",,“bar",, {   ,“foo":“bar"   ,}]   ,(u # 39; foo # 39;,, u # 39;酒吧# 39;,,{你# 39;foo # 39;:, u # 39;酒吧# 39;}]

如果想获取来自服务器的原始套接字响应,可以取得r。生,不过需要在初始请求中设置流=True。

r =, requests.get (& # 39; https://github.com/timeline.json& # 39;,,流=True)   r.raw   & lt; requests.packages.urllib3.response.HTTPResponse  object  at  0 x101194810>   r.raw.read (10)   & # 39;\ x1f \ x8b \ (\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x03 # 39;

这样就获取了网页原始套接字内容。

如果想添加标题,可以传头参数

import 请求   payload =, {& # 39; key1& # 39;:, & # 39; value1 # 39;,, & # 39; key2& # 39;:, & # 39; value2 # 39;}   headers =,{& # 39;内容类型# 39;:,& # 39;application/json # 39;}   r =, requests.get (“http://httpbin.org/get",, params=有效载荷,标题=标题)   print  r。url

通过头参数可以增加请求头中的头信息

<>强基本帖子请求

对于帖子请求来说,我们一般需要为它增加一些参数。那么最基本的传参方法可以利用数据这个参数。

import 请求   payload =, {& # 39; key1& # 39;:, & # 39; value1 # 39;,, & # 39; key2& # 39;:, & # 39; value2 # 39;}   时间=r  requests.post (“http://httpbin.org/post",, data=https://www.yisu.com/zixun/payload)   打印r。文本

请求库的基本用法是什么