一、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'這樣就獲取了網頁原始套接字內容。
新聞熱點
疑難解答