# 目的:對(duì)比多個(gè)庫(kù)看哪個(gè)更靠譜
# https://api.github.com/search/repositories?q=django
# https://api.github.com/search/repositories?q=topic:django
# get_names -- check_repos兩大步驟按照面向過(guò)程的方法形成兩個(gè)函數(shù)
import requests
# 返回的就是一個(gè)列表,裝滿了所有被分割的字符串
def get_names():
print('Seprate each with space')
names = input()
return names.split()
# 一一檢查
def check_repos(names):
repo_api = 'https://api.github.com/search/repositories?q='
ecosys_api = 'https://api.github.com/search/repositories?q=topic:'
# 循環(huán)取出單一的名字
for name in names:
# 簡(jiǎn)單的字符串拼接獲得完全的網(wǎng)址
repo_info = requests.get(repo_api+name).json()['items'][0]
# 1/json --2/dict -- 3/dict['items'] -- list[0] -- django {name:django,star:123}
# 分別找star和fork數(shù)
stars = repo_info['stargazers_count']
forks = repo_info['forks_count']
# 獲取該庫(kù)的生態(tài)
ecosys_info = requests.get(ecosys_api+name).json()['total_count']
# 全部展先出來(lái),注意相同類(lèi)型才能實(shí)現(xiàn)字符串相加
print(name)
print('Stars:'+str(stars))
print('Forks:'+str(forks))
print('Ecosys:'+str(ecosys_info))
print('----------')
names = get_names()
check_repos(names)
運(yùn)行結(jié)果:
Seprate each with space
flask django sanic bottle
flask
Stars:41170
Forks:11816
Ecosys:8973
----------
django
Stars:38771
Forks:16725
Ecosys:12885
----------
sanic
Stars:11095
Forks:1055
Ecosys:199
----------
bottle
Stars:5929
Forks:1183
Ecosys:142
----------
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。