python requests 示例_Python Requests模块的简单示例
這篇文章主要為大家詳細介紹了Python Requests模塊的簡單示例,具有一定的參考價值,可以用來參考一下。
對python這個高級語言感興趣的小伙伴,下面一起跟隨512筆記的小編兩巴掌來看看吧!
requests是python的一個HTTP客戶端庫,跟urllib,urllib2類似。它比 urllib 更加方便,可以節(jié)約我們大量的工作,它比 urllib 更加 Pythoner。
安裝 Requests
通過pip安裝
$ pip install requests
# End www_512pic_com
或者,下載代碼后安裝:
$ wget https://github.com/requests/requests/tarball/master
$ mv master requests.tgz
$ tar xzf requests.tgz
$ cd requests-requests-3dc84cd
$ python setup.py install
# End www_512pic_com
發(fā)送請求
使用Requests發(fā)送網(wǎng)絡(luò)請求非常簡單。
# @param Python Requests模塊快速入門
# @author 512筆記|www.512pic.com
>>> import requests #導(dǎo)入Requests模塊
>>> result = requests.get('http://www.512pic.com') # 生成Response 對象
>>> result.status_code # 返回碼
200
>>> result.headers['content-type'] # 返回頭部信息
'text/html; charset=utf8'
>>> result.encoding # 編碼信息
'utf-8'
>>> result.content #內(nèi)容部分
# End www_512pic_com
為URL傳遞參數(shù)
你也許經(jīng)常想為URL的查詢字符串(query string)傳遞某種數(shù)據(jù)。如果你是手工構(gòu)建URL,那么數(shù)據(jù)會以鍵/值 對的形式置于URL中,跟在一個問號的后面。例如,www.512pic.com?version=python3 。 Requests允許你使用 params 關(guān)鍵字參數(shù),以一個字典來提供這些參數(shù)。舉例來說,如果你想傳遞 version=python3 和 keywords=512pic 到 www.512pic.com ,那么你可以使用如下代碼:
# @param Python Requests模塊快速入門
# @author 512筆記|www.512pic.com
>>> data = {'version': 'python3', 'keywords': '512pic'}
>>> result = requests.get("http://www.512pic.com", params=data)
>>> print result.status_code
200
# End www_512pic_com
原始響應(yīng)內(nèi)容
在罕見的情況下你可能想獲取來自服務(wù)器的原始套接字響應(yīng),那么你可以訪問 r.raw 。 如果你確實想這么干,那請你確保在初始請求中設(shè)置了 stream=True 。具體的你可以這么做:
# @param Python Requests模塊快速入門
# @author 512筆記|www.512pic.com
>>> result = requests.get('http://www.512pic.com', stream=True)
>>> result.raw
>>> result.raw.read(10)
'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03'
# End www_512pic_com
定制請求頭
如果你想為請求添加HTTP頭部,只要簡單地傳遞一個 dict 給 headers 參數(shù)就可以了。
例如,在前一個示例中我們沒有指定content-type:
# @param Python Requests模塊快速入門
# @author 512筆記|www.512pic.com
>>> import requests
>>> url = 'http://www.512pic.com'
>>> data = {'version': 'python3', 'keywords': '512pic'}
>>> headers = {'content-type': 'application/json'}
>>> result = requests.post(url, data=json.dumps(data), headers=headers)
# End www_512pic_com
錯誤與異常
遇到網(wǎng)絡(luò)問題(如:DNS查詢失敗、拒絕連接等)時,Requests會拋出一個ConnectionError 異常。
遇到罕見的無效HTTP響應(yīng)時,Requests則會拋出一個 HTTPError 異常。
若請求超時,則拋出一個 Timeout 異常。
若請求超過了設(shè)定的最大重定向次數(shù),則會拋出一個 TooManyRedirects 異常。
所有Requests顯式拋出的異常都繼承自 requests.exceptions.RequestException 。
其他常用方法
result.content #獲取二進制響應(yīng)內(nèi)容
result.json() #JSON響應(yīng)內(nèi)容
result.headers #響應(yīng)頭內(nèi)容
result.cookies #cookie內(nèi)容
result.history #請求歷史
注:關(guān)于Python Requests模塊的簡單示例的內(nèi)容就先介紹到這里,更多相關(guān)文章的可以留意512筆記的其他信息。
關(guān)鍵詞:Requests
您可能感興趣的文章
總結(jié)
以上是生活随笔為你收集整理的python requests 示例_Python Requests模块的简单示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海金融是什么贷款平台
- 下一篇: python获取链接跳转后地址_爬虫:获