用pygal分析一些github项目

访问github速度慢的修改hosts:

151.101.72.133 assets-cdn.github.com

151.101.229.194 github.global.ssl.fastly.net

import json,sys,os,time,aiohttp,asyncio
from pygal_maps_world.i18n import COUNTRIES
import pygal
#获取python仓库信息url
url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
async def fetch(session:aiohttp.ClientSession,url:str):
    async with session.get(url) as resp:
        with open('git.json','wb') as fd:
            while 1:
                chunk = await resp.content.read(8192)
                if not chunk:
                    break
                fd.write(chunk)
                fd.flush()

async def download_json(url):
    async with aiohttp.ClientSession() as session:
        await fetch(session,url)

#异步获取,这里好像没必要
# lp = asyncio.get_event_loop()
# lp.run_until_complete(download_json(url))
# lp.close()
fd = open('git.json',encoding='utf-8')
json_data = json.load(fd)
fd.close()
#所有数据在items里
items_dict = json_data['items']
#提取名字
pop_names = []
#提取星星数 , 描述, 链接
pop_dict = []
for d in items_dict:
    pop_names.append(d['name'])
    pop_dict.append({'value':d['stargazers_count'],'label':str(d['description']),'xlink':d['html_url']})
chart = pygal.Bar(rounded_bars = 5)
chart.title = '仓库项目'
chart.add('',pop_dict)
#X轴描述
chart.x_labels = pop_names
chart.render_to_file('resp.svg')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值