多参考大佬的项目,从中获得启发
import requests
# 根据参数,获得对应的项目信息
def getInfo(language="python", date="2020-12-31", laterOrBefore="later", number=10):
# %3E 大于
# %3C 小于
if laterOrBefore.__eq__("later"):
laterOrBeforeTemp = "%3E"
elif laterOrBefore.__eq__("before"):
laterOrBeforeTemp = "%3C"
else:
return "error"
# 处理URL
url = "https://api.github.com/search/repositories?q=language:" + language + "+created:" + laterOrBeforeTemp + date + "&sort=stars&order=desc&per_page=" + str(
number)
# 获得数据
data = requests.get(url).json()
# 把部分数据放在字典中
info = {}
for item in data['items']:
info[item['name']] = [item['html_url'], item["stargazers_count"], item['watchers_count'], item['forks']]
# 返回信息
return info, language, date, laterOrBefore, number
# 展示信息以及保存信息
def showInfo(info, language, date, laterOrBefore, number):
# 获得项目的名称
names = list(info.keys())
# 获得项目的URL
urls = [info[i][0] for i in names]
# 输出并保存信息
fileName = language + "Project_" + date + "_" + laterOrBefore + "_TOP" + str(number)
with open("githubProjectIntroduction/" + fileName + ".txt", mode='w', encoding="utf-8") as file:
for i in range(len(urls)):
output = names[i] + "--->" + str(urls[i])
print(output)
file.write(output + "\n")
if __name__ == '__main__':
# run
info, language, date, laterOrBefore, number = getInfo()
showInfo(info, language, date, laterOrBefore, number)