python api怎麼用

nt1979發表於2021-09-11

python api怎麼用

API:

Web應用程式設計介面(API)自動請求網站的特定資訊而不是整個網頁。因此即便資料瞬息萬變,它呈現的資訊也都是最新的。

一、使用Web API

Web API是網站的一部分,用於與使用非常具體的URL請求特定資訊的程式互動。這種請求稱為API呼叫。請求的資料將以易於處理的格式(如JSON或CSV)返回。依賴於外部資料來源的大多數應用程式都依賴於API呼叫。

1、Git 和GitHub

我們將使用GitHub的API來請求有關該網站中Python專案的資訊,GitHub()的名字源自Git,Git是一個分散式版本控制系統,讓程式設計師團隊能夠協作開發專案。

Git幫助大家管理為專案所做的工作,避免一個人所做的修改影響其他人所做的修改。

你在專案中實現新功能時,Git將跟蹤你對每個檔案所做的修改。確定程式碼可行後,你提交所做的修改,而Git將記錄專案最新的狀態。

(1)在Windows 系統中安裝Git

要在Windows系統中安裝Git,請訪問,並單擊Download。

(2)配置Git

Git跟蹤誰修改了專案,哪怕參與專案開發的人只有一個。為此,Git需要知道你的使用者名稱和電子郵件地址。你必須提供使用者名稱,但可以使用虛構的電子郵件地址:

$ git config --global user.name "username"
$ git config --global user.email "username@example.com"

(3)建立專案

在你的系統中建立一個資料夾,並將其命名為git_practice。在這個資料夾中,建立一個簡單的Python程式:

hello_world.py

print("Hello Git world!")

我們將使用這個程式來探索Git的基本功能。

(4)忽略檔案

副檔名為.pyc的檔案是根據.py檔案自動生成的,因此我們無需讓Git跟蹤它們。這些檔案儲存在目錄__pycache__中。為讓Git忽略這個目錄,建立一個名為.gitignore的特殊檔案(這個檔名以句點打頭,且沒有副檔名),並在其中新增下面一行內容:

.gitignore

__pycache__/

這讓Git忽略目錄__pycache__中的所有檔案。使用檔案.gitignore可避免專案混亂,開發起來更容易。

(5)初始化倉庫

你建立了一個目錄,其中包含一個Python檔案和一個.gitignore檔案,可以初始化一個Git倉庫了。為此,開啟一個終端視窗,切換到資料夾git_practice,並執行如下命令:

git_practice$ git init
Initialized empty Git repository in git_practice/.git/
git_practice$

輸出表明Git在git_practice中初始化了一個空倉庫。倉庫是程式中被Git主動跟蹤的一組檔案。

Git用來管理倉庫的檔案都儲存在隱藏的.git/中,你根本不需要與這個目錄打交道,但千萬不要刪除這個目錄,否則將丟棄專案的所有歷史記錄。

(6)檢查狀態

執行其他操作前,先來看一下專案的狀態:

git_practice$ git status.

在Git中,分支是專案的一個版本。從這裡的輸出可知,我們位於分支master上。你每次檢視專案的狀態時,輸出都將指出你位於分支master上。

接下來的輸出表明,我們將進行初始提交。提交是專案在特定時間點的快照。

efb15399d0ba5096086c9bf8ae76e46.png

# Untracked files: 

Git指出了專案中未被跟蹤的檔案,因為我們還沒有告訴它要跟蹤哪些檔案。

nothing added to commit but untracked files present (use "git add" to track)

我們被告知沒有將任何東西新增到當前提交中,但我們可能需要將未跟蹤的檔案加入到倉庫中

2、使用API 呼叫請求資料

GitHub的API讓你能夠透過API呼叫來請求各種資訊。這個呼叫返回GitHub當前託管了多少個Python專案,還有有關最受歡迎的Python倉庫的資訊。

第一部分()將請求傳送到GitHub網站中響應API呼叫的部分

第二部分(search/repositories)讓API搜尋GitHub上的所有倉庫。

第三部分(repositories後面的?)指出我們要傳遞的實參

第四部分(q=)q表示查詢,= 符號讓我們能夠開始指定查詢(q=)

第五部分(language:python)指出只想獲取主要語言為python的倉庫的資訊

第六部分(&sort=stars) 指定將專案按其獲得的星級進行排序。

3、安裝requests

requests包讓Python程式能夠輕鬆地向網站請求信,息以及檢查返回的響應

b134476b042c1cb98f225238205ca5f.png

1.  匯入了模組requests

2.  儲存API呼叫的URL

3. 使用requests來執行呼叫,呼叫get()並將URL傳遞給它,再將響應物件儲存在變數r中,響應物件包含一個名為status_code的屬性,它讓我們知道請求是否成功了。

4. 列印status_code,核實呼叫是否成功了。

5. API返回JSON格式的資訊,因此我們使用方法json()將這些資訊轉換為一個Python字典。我們將轉換得到的字典儲存在response_dict中。

最後,列印response_dict中的鍵。

4、處理響應字典

將API呼叫返回的資訊儲存到字典中後,就可以處理這個字典中的資料了。

生成一些概述這些資訊的輸出,可確認收到了期望的資訊,進而可以開始研究感興趣的資訊。

ae6572f5991c2973d6e1aad5eb54e3b.png

print("Total repositories:", response_dict['total_count'])

列印了與'total_count'相關聯的值,它指出了GitHub總共包含多少個Python倉庫。

與'items'相關聯的值是一個列表,其中包含很多字典,而每個字典都包含有關一個Python倉庫的資訊。

repo_dicts = response_dict['items']
print("Repositories returned:", len(repo_dicts))

我們將這個字典列表儲存在repo_dicts中。接下來,我們列印repo_dicts的長度,以獲悉我們獲得了多少個倉庫的資訊。

repo_dict = repo_dicts[0]

為更深入地瞭解返回的有關每個倉庫的資訊,我們提取了repo_dicts中的第一個字典,並將其儲存在repo_dict中。

print("nKeys:", len(repo_dict))

我們列印這個字典包含的鍵數,看看其中有多少資訊。

for key in sorted(repo_dict.keys()):
    print(key)

我們列印這個字典的所有鍵,看看其中包含哪些資訊。

8a1cff5a8c2603de09bf278d01982a9.png

5、概述最受歡迎的倉庫

對這些資料進行視覺化時,我們需要涵蓋多個倉庫。列印API呼叫返回的每個倉庫的特定資訊,以便能夠在視覺化中包含所有這些資訊。

c133df2984fdcccd2fd6c1919a7f641.png

6、監視API 的速率限制

大多數API都存在速率限制,即你在特定時間內可執行的請求數存在限制。要獲悉你是否接近了GitHub的限制,請在瀏覽器中輸入rate_limit

de0e8b186b09286ddf8a293690e1c39.png

"search": {

搜尋API的速率限制

"limit": 10,

極限為每分鐘10個請求

"remaining": 8,

在當前這一分鐘內,我們還可執行8個請求。

"reset": 1426078803

reset值指的是配額將重置的Unix時間或新紀元時間(1970年1月1日午夜後多少秒)

用完配額後,你將收到一條簡單的響應,由此知道已到達API極限。到達極限後,你必須等待配額重置。

注意:很多API都要求你註冊獲得API金鑰後才能執行API呼叫。編寫本書時,GitHub沒有這樣的要求,但獲得API金鑰後,配額將高得多。

python學習網,免費的線上學習,歡迎關注!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4822/viewspace-2835095/,如需轉載,請註明出處,否則將追究法律責任。

相關文章