官术网_书友最值得收藏!

2.4 requests庫的安裝及使用

2.4.1 requests庫概述

requests庫是Python中的一個HTTP網絡請求庫,用來簡化網絡請求。通過對requests庫的引用,便能夠使用其中的成員(方法和屬性),如圖2-8所示。

圖2-8 Requests庫成員

2.4.2 requests庫的安裝

安裝request庫的操作步驟如下。

1)在PyCharm中選擇“File”→“Settings”菜單命令,如圖2-9所示。

圖2-9 選擇“File”→“Settings”菜單命令

2)彈出“Settings”對話框,在左側窗格中依次選擇“Project:pycharmprojects”→“Project Interpreter”選項,然后單擊右上角的“+”按鈕,如圖2-10所示。

圖2-10 “Setting”對話框

3)彈出“Available Packages”對話框,在搜索文本框中輸入“requests”,選擇列表框中出現的“requests”,然后單擊“Install Package”按鈕,如圖2-11所示。

圖2-11 “Available Package”對話框

2.4.3 requests庫的基本用法

1.requests庫的常用方法

(1)request()

requests.request()用于生成一個請求。這是一個總方法,可以通過傳入不同的參數實現不同的目的。

語法:requests.request(method,url,??kwargs)

參數說明:

1)method表示請求方式參數,共7個,分別為GET、POST、HEAD、PUT、PATCH、DELETE。必填。

2)url表示擬獲取頁面的URL鏈接。必填。

3)??kwargs表示可選的控制訪問參數,共13個,分別如下。

● params:字典或字節序列,作為參數增加到url中。

● data:字典、字節序列或文件對象,作為Request的內容。

● json:JSON格式的數據,作為Request的內容。

● headers:設置頭部,字典類型,如{'user-agent':'my-app/0.0.1'}(模擬瀏覽器進行訪問)。

● cookies:設置cookie,字典類型,如{"key":"value"}。

● auth:元組格式的數據。

● files:字典類型,傳輸文件。

● timeout:設置超時時間,以秒(s)為單位。

● proxies:設置代理,字典類型,如{"http":"http://10.10.1.10:8080"}。

● allow_redirects:True或False,默認為True,重定向開關。

● stream:True或False,默認為True,獲取內容立即下載開關。

● verify:True或False,默認為True,認證SSL證書開關。

● cert:本地SSL證書路徑。

【例2-1】使用requests的request()方法以字典數據作為參數獲取github的API數據。

(2)get()

requests.get()是指使用GET方法獲取指定的URL。

語法:requests.get(url,params={},headers={},cookies={},allow redirects=True,timeout=float,proxies={},verify=True)

【例2-2】使用requests的get()方法以字典數據作為參數獲取github的API數據。

(3)post()

requests.post()是指使用POST方法獲取指定URL。以表單形式發送數據時,只需傳遞一個字典數據給data關鍵字,在發送請求的時候,會自動編碼為表單的形式。

語法:requests.post(url,data={},headers={},cookies={},json=' ',files={},allow_redirects=True,timeout=float,proxies={},verify=True)

【例2-3】使用requests的post()方法以字典數據作為參數獲取github的API數據。

(4)head()

requests.head()是指使用HEAD方法獲取頁面的頭部信息。

【例2-4】使用requests的head()方法獲取指定URL的頭部信息。

2.requests庫的對象屬性

1)requests.status_code是指返回狀態碼。

2)requests.text是指返回的頁面內容。

3)requests.encoding是指返回頁面內容使用的可能的編碼方式。如果網頁沒有設置charset的值,就使用默認的編碼格式。

4)requests.apparent_encoding是指返回對頁面內容分析后的編碼方式。

5)requests.content是指以二進制的形式返回response的內容。

3.一個簡單的requests庫實現案例

使用requests庫顯示百度頁面的各屬性值。

1)在Python文件中導入requests庫。

2)使用requests.get()方法獲得指定URL。

3)查看返回的requests對象屬性值。

4)顯示結果如圖2-12所示。

圖2-12 百度頁面的屬性值

主站蜘蛛池模板: 九龙县| 固阳县| 奉贤区| 宽城| 松原市| 津南区| 杂多县| 咸宁市| 梨树县| 金平| 南投县| 康定县| 固阳县| 大田县| 若尔盖县| 禹州市| 桂东县| 高安市| 聂荣县| 法库县| 潮州市| 天津市| 京山县| 抚顺市| 泰顺县| 四会市| 延长县| 永吉县| 邵武市| 赤壁市| 青海省| 会同县| 巴青县| 呈贡县| 米脂县| 裕民县| 屏东市| 乃东县| 和平县| 新余市| 巴彦淖尔市|