首页 > 编程 > Python > 正文

Python中第三方库Requests库的高级用法详解

2020-02-23 04:26:15
字体:
来源:转载
供稿:网友

一、Requests库的安装

利用 pip 安装,如果你安装了pip包(一款Python包管理工具,不知道可以百度哟),或者集成环境,比如Python(x,y)或者anaconda的话,就可以直接使用pip安装Python的库。

$ pip install requests

安装完成之后,下面来看一下基本的方法:

#get请求方法 >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))#打印get请求的状态码 >>> r.status_code200#查看请求的数据类型,可以看到是json格式,utf-8编码 >>> r.headers['content-type']'application/json; charset=utf8' >>> r.encoding'utf-8'#打印请求到的内容 >>> r.textu'{"type":"User"...'#输出json格式数据 >>> r.json() {u'private_gists': 419, u'total_private_repos': 77, ...}

下面看一个小栗子:

#小例子import requestsr = requests.get('http://www.baidu.com')print type(r)print r.status_codeprint r.encodingprint r.textprint r.cookies'''请求了百度的网址,然后打印出了返回结果的类型,状态码,编码方式,Cookies等内容 输出:'''<class 'requests.models.Response'>200UTF-8<RequestsCookieJar[]>

二、http基本请求

requests库提供了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)

基本GET请求

r = requests.get("http://httpbin.org/get")#如果想要加参数,可以利用 params 参数:import requestspayload = {'key1': 'value1', 'key2': 'value2'}r = requests.get("http://httpbin.org/get", params=payload)print r.url#输出:http://httpbin.org/get?key2=value2&key1=value1

如果想请求JSON文件,可以利用 json() 方法解析,例如自己写一个JSON文件命名为a.json,内容如下:

["foo", "bar", {"foo": "bar"}]#利用如下程序请求并解析:import requestsr = requests.get("a.json")print r.textprint r.json()'''运行结果如下,其中一个是直接输出内容,另外一个方法是利用 json() 方法 解析,感受下它们的不同:'''["foo", "bar", {"foo": "bar"}][u'foo', u'bar', {u'foo': u'bar'}]

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

r = requests.get('https://github.com/timeline.json', stream=True)r.raw#输出<requests.packages.urllib3.response.HTTPResponse object at 0x101194810>r.raw.read(10)'/x1f/x8b/x08/x00/x00/x00/x00/x00/x00/x03'

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表