国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python requests庫用法實例詳解

2020-02-15 22:44:41
字體:
來源:轉載
供稿:網友

本文實例講述了Python requests庫用法。分享給大家供大家參考,具體如下:

requests是Python中一個第三方庫,基于 urllib,采用 Apache2 Licensed 開源協議的 HTTP 庫。它比 urllib 更加方便,可以節約我們大量的工作,完全滿足 HTTP 測試需求。接下來將記錄一下requests的使用:

安裝

要使用requests庫必須先要安裝:

pip install requests

創建請求

通過requests庫發出一個請求非常簡單,首先我們先導入requests庫:

import requests

現在我們嘗試創建一個請求,用來獲取百度的網頁信息:

result = requests.get('http://www.baidu.com/')

現在我們獲取到了一個Response對象result,我們可以從這個對象中獲得所有我們需要的所有信息。剛剛的栗子是使用的GET請求,接下來將使用requests庫進行POST請求:

result = requests.post('http://www.baidu.com/',data={key:value})

很簡單對吧?那么其他HTTP請求呢:PUT、DELETE、HEAD和OPTIONS呢?

result = requests.put('http://www.baidu.com/',data={key,value})result = requests.head('http://www.baidu.com/')result = requests.delete('http://www.baidu.com/')result = requests.options('http://www.baidu.com/')

在URL中傳遞參數

你經常想要在URL的查詢字符串中發送某種數據。如果你手動構建網址,那么這個數據會在問號后作為網址中的鍵值對,例如https://www.baidu.com/s?wd=requests。請求允許你使用params關鍵字參數將這些參數作為字符串字典提供。舉個栗子,你想傳遞name=zhangsan并且age=18到https://www.baidu.com/s,你可以這樣寫:

data = {"name":"zhangsan","age":18}result = requests.get("https://www.baidu.com/s",params=data)

此時我們打印一下URL,發現該URL已經被正確編碼:

print result.url # https://www.baidu.com/s?name=zhangsan&age=18

也可以傳遞一個列表進去:

data = {"name":"zhangsan","favorite":["football","basketball"]}result = requests.get("https://www.baidu.com/s",params=data)print result.url # https://www.baidu.com/s?name=zhangsan&favorite=football&favorite=basketball

響應內容

在上面的例子可以知道,我們每次請求之后都會返回一個對象,我們可以從此對象中獲取響應內容:

result = requests.get("https://api.github.com/events")print result.text    # [{"id":"6924608641","type":"PushEvent",...}]

二進制響應內容

print result.content  # b'[{"id":"6924656608","type":"CreateEvent",...}]'

JSON格式的響應內容,如果解碼失敗,result.json()將會引發異常

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁都县| 屏山县| 镇原县| 双城市| 兴安县| 翁牛特旗| 五大连池市| 林芝县| 上蔡县| 永修县| 松原市| 泗水县| 达州市| 花莲县| 梨树县| 句容市| 八宿县| 新邵县| 黄山市| 辛集市| 吴旗县| 息烽县| 潜山县| 宜兰县| 奉新县| 仁寿县| 伊宁县| 东光县| 彰武县| 无为县| 施秉县| 长治市| 通化县| 景谷| 潞西市| 前郭尔| 遂昌县| 新化县| 民勤县| 泰和县| 兴安县|