溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中api的使用方法是什么

發(fā)布時(shí)間:2020-07-31 13:48:21 來(lái)源:億速云 閱讀:254 作者:清晨 欄目:編程語(yǔ)言

小編給大家分享一下python中api的使用方法是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

API:

Web應(yīng)用編程接口(API)自動(dòng)請(qǐng)求網(wǎng)站的特定信息而不是整個(gè)網(wǎng)頁(yè)。因此即便數(shù)據(jù)瞬息萬(wàn)變,它呈現(xiàn)的信息也都是最新的。

一、使用Web API

Web API是網(wǎng)站的一部分,用于與使用非常具體的URL請(qǐng)求特定信息的程序交互。這種請(qǐng)求稱為API調(diào)用。請(qǐng)求的數(shù)據(jù)將以易于處理的格式(如JSON或CSV)返回。依賴于外部數(shù)據(jù)源的大多數(shù)應(yīng)用程序都依賴于API調(diào)用。

1、Git 和GitHub

我們將使用GitHub的API來(lái)請(qǐng)求有關(guān)該網(wǎng)站中Python項(xiàng)目的信息,GitHub(https://github.com/)的名字源自Git,Git是一個(gè)分布式版本控制系統(tǒng),讓程序員團(tuán)隊(duì)能夠協(xié)作開(kāi)發(fā)項(xiàng)目。

Git幫助大家管理為項(xiàng)目所做的工作,避免一個(gè)人所做的修改影響其他人所做的修改。

你在項(xiàng)目中實(shí)現(xiàn)新功能時(shí),Git將跟蹤你對(duì)每個(gè)文件所做的修改。確定代碼可行后,你提交所做的修改,而Git將記錄項(xiàng)目最新的狀態(tài)。

(1)在Windows 系統(tǒng)中安裝Git

要在Windows系統(tǒng)中安裝Git,請(qǐng)?jiān)L問(wèn)http://msysgit.github.io/,并單擊Download。

(2)配置Git

Git跟蹤誰(shuí)修改了項(xiàng)目,哪怕參與項(xiàng)目開(kāi)發(fā)的人只有一個(gè)。為此,Git需要知道你的用戶名和電子郵件地址。你必須提供用戶名,但可以使用虛構(gòu)的電子郵件地址:

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

(3)創(chuàng)建項(xiàng)目

在你的系統(tǒng)中創(chuàng)建一個(gè)文件夾,并將其命名為git_practice。在這個(gè)文件夾中,創(chuàng)建一個(gè)簡(jiǎn)單的Python程序:

hello_world.py

print("Hello Git world!")

我們將使用這個(gè)程序來(lái)探索Git的基本功能。

(4)忽略文件

擴(kuò)展名為.pyc的文件是根據(jù).py文件自動(dòng)生成的,因此我們無(wú)需讓Git跟蹤它們。這些文件存儲(chǔ)在目錄__pycache__中。為讓Git忽略這個(gè)目錄,創(chuàng)建一個(gè)名為.gitignore的特殊文件(這個(gè)文件名以句點(diǎn)打頭,且沒(méi)有擴(kuò)展名),并在其中添加下面一行內(nèi)容:

.gitignore

__pycache__/

這讓Git忽略目錄__pycache__中的所有文件。使用文件.gitignore可避免項(xiàng)目混亂,開(kāi)發(fā)起來(lái)更容易。

(5)初始化倉(cāng)庫(kù)

你創(chuàng)建了一個(gè)目錄,其中包含一個(gè)Python文件和一個(gè).gitignore文件,可以初始化一個(gè)Git倉(cāng)庫(kù)了。為此,打開(kāi)一個(gè)終端窗口,切換到文件夾git_practice,并執(zhí)行如下命令:

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

輸出表明Git在git_practice中初始化了一個(gè)空倉(cāng)庫(kù)。倉(cāng)庫(kù)是程序中被Git主動(dòng)跟蹤的一組文件。

Git用來(lái)管理倉(cāng)庫(kù)的文件都存儲(chǔ)在隱藏的.git/中,你根本不需要與這個(gè)目錄打交道,但千萬(wàn)不要?jiǎng)h除這個(gè)目錄,否則將丟棄項(xiàng)目的所有歷史記錄。

(6)檢查狀態(tài)

執(zhí)行其他操作前,先來(lái)看一下項(xiàng)目的狀態(tài):

git_practice$ git status.

在Git中,分支是項(xiàng)目的一個(gè)版本。從這里的輸出可知,我們位于分支master上。你每次查看項(xiàng)目的狀態(tài)時(shí),輸出都將指出你位于分支master上。

接下來(lái)的輸出表明,我們將進(jìn)行初始提交。提交是項(xiàng)目在特定時(shí)間點(diǎn)的快照。

python中api的使用方法是什么

# Untracked files: 

Git指出了項(xiàng)目中未被跟蹤的文件,因?yàn)槲覀冞€沒(méi)有告訴它要跟蹤哪些文件。

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

我們被告知沒(méi)有將任何東西添加到當(dāng)前提交中,但我們可能需要將未跟蹤的文件加入到倉(cāng)庫(kù)中

2、使用API 調(diào)用請(qǐng)求數(shù)據(jù)

GitHub的API讓你能夠通過(guò)API調(diào)用來(lái)請(qǐng)求各種信息。這個(gè)調(diào)用返回GitHub當(dāng)前托管了多少個(gè)Python項(xiàng)目,還有有關(guān)最受歡迎的Python倉(cāng)庫(kù)的信息。

https://api.github.com/search/repositories?q=language:python&sort=stars

第一部分(https://api.github.com/)將請(qǐng)求發(fā)送到GitHub網(wǎng)站中響應(yīng)API調(diào)用的部分

第二部分(search/repositories)讓API搜索GitHub上的所有倉(cāng)庫(kù)。

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

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

第五部分(language:python)指出只想獲取主要語(yǔ)言為python的倉(cāng)庫(kù)的信息

第六部分(&sort=stars) 指定將項(xiàng)目按其獲得的星級(jí)進(jìn)行排序。

3、安裝requests

requests包讓Python程序能夠輕松地向網(wǎng)站請(qǐng)求信,息以及檢查返回的響應(yīng)

python中api的使用方法是什么

1.  導(dǎo)入了模塊requests

2.  存儲(chǔ)API調(diào)用的URL

3. 使用requests來(lái)執(zhí)行調(diào)用,調(diào)用get()并將URL傳遞給它,再將響應(yīng)對(duì)象存儲(chǔ)在變量r中,響應(yīng)對(duì)象包含一個(gè)名為status_code的屬性,它讓我們知道請(qǐng)求是否成功了。

4. 打印status_code,核實(shí)調(diào)用是否成功了。

5. API返回JSON格式的信息,因此我們使用方法json()將這些信息轉(zhuǎn)換為一個(gè)Python字典。我們將轉(zhuǎn)換得到的字典存儲(chǔ)在response_dict中。

最后,打印response_dict中的鍵。

4、處理響應(yīng)字典

將API調(diào)用返回的信息存儲(chǔ)到字典中后,就可以處理這個(gè)字典中的數(shù)據(jù)了。

生成一些概述這些信息的輸出,可確認(rèn)收到了期望的信息,進(jìn)而可以開(kāi)始研究感興趣的信息。

python中api的使用方法是什么

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

打印了與'total_count'相關(guān)聯(lián)的值,它指出了GitHub總共包含多少個(gè)Python倉(cāng)庫(kù)。

與'items'相關(guān)聯(lián)的值是一個(gè)列表,其中包含很多字典,而每個(gè)字典都包含有關(guān)一個(gè)Python倉(cāng)庫(kù)的信息。

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

我們將這個(gè)字典列表存儲(chǔ)在repo_dicts中。接下來(lái),我們打印repo_dicts的長(zhǎng)度,以獲悉我們獲得了多少個(gè)倉(cāng)庫(kù)的信息。

repo_dict = repo_dicts[0]

為更深入地了解返回的有關(guān)每個(gè)倉(cāng)庫(kù)的信息,我們提取了repo_dicts中的第一個(gè)字典,并將其存儲(chǔ)在repo_dict中。

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

我們打印這個(gè)字典包含的鍵數(shù),看看其中有多少信息。

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

我們打印這個(gè)字典的所有鍵,看看其中包含哪些信息。

python中api的使用方法是什么

5、概述最受歡迎的倉(cāng)庫(kù)

對(duì)這些數(shù)據(jù)進(jìn)行可視化時(shí),我們需要涵蓋多個(gè)倉(cāng)庫(kù)。打印API調(diào)用返回的每個(gè)倉(cāng)庫(kù)的特定信息,以便能夠在可視化中包含所有這些信息。

python中api的使用方法是什么

6、監(jiān)視API 的速率限制

大多數(shù)API都存在速率限制,即你在特定時(shí)間內(nèi)可執(zhí)行的請(qǐng)求數(shù)存在限制。要獲悉你是否接近了GitHub的限制,請(qǐng)?jiān)跒g覽器中輸入https://api.github.com/rate_limit

python中api的使用方法是什么

"search": {

搜索API的速率限制

"limit": 10,

極限為每分鐘10個(gè)請(qǐng)求

"remaining": 8,

在當(dāng)前這一分鐘內(nèi),我們還可執(zhí)行8個(gè)請(qǐng)求。

"reset": 1426078803

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

用完配額后,你將收到一條簡(jiǎn)單的響應(yīng),由此知道已到達(dá)API極限。到達(dá)極限后,你必須等待配額重置。

注意:很多API都要求你注冊(cè)獲得API密鑰后才能執(zhí)行API調(diào)用。編寫本書時(shí),GitHub沒(méi)有這樣的要求,但獲得API密鑰后,配額將高得多。

看完了這篇文章,相信你對(duì)python中api的使用方法是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI