GitHub上星星数量最多的项目
"""
most_popular.py
查看GitHub上获得星星最多的项目都是用什么语言写的
"""
import requests
import pygal
# 在GitHub的repositories中搜索获得星星最多的项目
url = 'https://api.github.com/search/repositories?q=language:&sort=stars'
# 获取数据
r = requests.get(url)
# 检查是否成功(200表示成功)
print('Status code:', r.status_code)
# 将API响应存储到一个变量之中
data = r.json()
for key in data:
if key == 'items':
print(key + ':', len(data[key]))
else:
print(key + ':', data[key])
# 分析数据
names, dicts = [], [] # names充当x轴标签,dicts充当数据(字典,键必须是'value', 'label'和'xlink'等等)
items = data['items']
for item in items:
names.append(item['name'])
dic = {
"value": item['stargazers_count'], # 获取星星数量
"label": str(item['language']), # 获取语言信息
'xlink': item['html_url'], # 链接信息
}
dicts.append(dic)
# 可视化数据
chart = pygal.Bar(x_label_rotation=45, show_legend=False, truncate_label=15, width=1000)
chart.title = 'Most Popular Projects in GuiHub'
chart.x_labels = names
chart.add('', dicts)
# 渲染保存
chart.render_to_file('most_popular.svg')