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