一、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'
这样就获取了网页原始套接字内容。
新闻热点
疑难解答