""" 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')