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上。
接下來的輸出表明,我們將進行初始提交。提交是專案在特定時間點的快照。
# 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程式能夠輕鬆地向網站請求信,息以及檢查返回的響應
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呼叫返回的資訊儲存到字典中後,就可以處理這個字典中的資料了。
生成一些概述這些資訊的輸出,可確認收到了期望的資訊,進而可以開始研究感興趣的資訊。
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)
我們列印這個字典的所有鍵,看看其中包含哪些資訊。
5、概述最受歡迎的倉庫
對這些資料進行視覺化時,我們需要涵蓋多個倉庫。列印API呼叫返回的每個倉庫的特定資訊,以便能夠在視覺化中包含所有這些資訊。
6、監視API 的速率限制
大多數API都存在速率限制,即你在特定時間內可執行的請求數存在限制。要獲悉你是否接近了GitHub的限制,請在瀏覽器中輸入rate_limit
"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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- api介面怎麼用?API
- api應該怎麼用?(簡單方便的API介面方法)API
- python的int怎麼用Python
- python中geopy怎麼用Python
- python getopt模組怎麼用?Python
- Python集合要怎麼用Python
- python TestCase測試用例怎麼用Python
- 怎麼用python扒網頁?Python網頁
- Python 中strip()方法怎麼用?Python
- python3.6print怎麼用Python
- python中Matplotlib是什麼?怎麼用?Python
- python安裝之後怎麼用Python
- 怎麼用Python生成隨機數Python隨機
- 怎麼用python django做網站?PythonDjango網站
- python3.5中cmp怎麼用Python
- python的upper函式怎麼用Python函式
- Python中randrange()函式怎麼用?Python函式
- python中的find函式怎麼用Python函式
- 怎麼用python中tuple相關方法?Python
- [Python小記] 裝飾器怎麼用 ?Python
- 你真的知道Python的字串怎麼用嗎?Python字串
- python用install失敗怎麼解決Python
- API介面是什麼?產品經理怎麼去看API介面文件?API
- 怎麼用python寫簡單的遊戲指令碼?Python遊戲指令碼
- Python中if條件判斷語句怎麼用?Python
- 呼叫api介面有什麼用?API
- 怎麼用cmd啟用anaconda的python執行環境?Python
- Python3中預設編碼是什麼?怎麼用?Python
- 什麼是API資料介面該怎麼使用?API
- GOOGLE怎麼用?Go
- 什麼是Python?Python前景怎麼樣?Python
- Python能幹什麼?python怎麼這麼火?Python
- python:運用while迴圈怎麼進行終止PythonWhile
- python簡介怎麼寫-python爬蟲簡歷怎麼寫Python爬蟲
- python怎麼操作mysqlPythonMySql
- python怎麼退出程式Python
- python怎麼拼接字串Python字串
- python怎麼打sinPython