使用API,并使用Pygal可视化仓库

简介

Web API是网站的一部分,用于与使用非常具体的URL请求特定信息的程序交互。这种请求称为API调用。请求的数据将以易于处理的格式(如JASONCSV)返回。
使用Pygal可视化仓库,呈现GitHubPython项目的受欢迎程度。将创建一个交互式条形图:条形的高度表示项目获取了多少颗星。单击条形将进入项目在GitHub上的主页。

实际代码如下:

import requests
import pygal
from pygal.style import LightColorizedStyle as LCS, LightenStyle as LS# 执行API调用并存储响应
url = 'http://api.github.com/search/repositories?q=language:python&sort=stars'
r = requests.get(url)
# 响应对象包含一个名为status_code的属性,它让我们知道请求是否成功了(状态200表示请求成功)
print("Status code", r.status_code)# 将API响应存储在一个变量中(这个API返回JSON格式的信息,因此我们使用方法json()将这些信息转化为一个Python字典)
response_dict = r.json()
print("Total repositories:", response_dict['total_count'])# 研究有关仓库的信息
repo_dicts = response_dict['items']
print("Repositories returned:", len(repo_dicts))names,plot_dicts=[],[]
for repo_dict in repo_dicts:names.append(repo_dict['name'])#我们定义了一个名为plot_dict的列表,每个字典都包含两个键:‘value’和‘label’。
#Pygal根据与键‘value’相关联的数字来确定条形的高度
#使用与‘label’相关联的字符串给条形创建工具提示
#pygal根据与键‘xlink’相关联的URL将每个条形都转化为活跃的链接。单击图表中的任何条形时,都将在浏览器中打开一个新的标签页,并在其中显示相应项目的GitHub页面plot_dict={#表示获取多少颗星星'value':repo_dict['stargazers_count'],#表示对项目的描述'label':repo_dict['description'],'xlink':repo_dict['html_url']}plot_dicts.append(plot_dict)#可视化
my_style = LS('#333366', base_style=LCS)
my_config=pygal.Config()
#让标签绕x轴旋转45度(x_label_rotation=45)
my_config.x_label_rotation=45
#隐藏了图例(show_legend=False)
my_config.show_legend=False
#设置图表标题的字体大小
my_config.title_font_size=24
#设置副标签的字体大小(副标签是x轴上的项目名及y轴上的大部分数字)
my_config.label_font_size=14
#设置主标签的字体大小(主标签是y轴上为5000整数倍的刻度)
my_config.major_label_font_size=18
#使用truncate_label将较长的项目缩短为15个字符(如果你讲鼠标指向屏幕上被截断的项目名,将显示完整的项目名)
my_config.truncate_label=15
#隐藏图表的水平线
my_config.show_y_guides=False
#自定义图表宽度
my_config.width=1000chart = pygal.Bar(my_config,style=my_style)
chart.title = 'Most-Starred Python Projects on GitHub'
chart.x_labels = nameschart.add('', plot_dicts)
chart.render_to_file('python_repos.svg')

运行并查看结果

python-使用API来探索GitHub上星级最高的项目相关推荐

  1. (完全解决)Python中pip如何安装github上的一个包

    文章目录 前言 安装 结尾 前言 先说几个问题: 并不是github上面的每一个项目都能叫做一个包,一般来说,包的标识:项目的目录下有setup.py文件. 为什么不直接pip install 包名? ...

  2. GitHub上关于docker的项目排名前十个介绍

    一.GitHub上关于docker的项目排名前十个介绍,同时推荐下两本gitbook 1. docker: https://github.com/docker/docker 开发语言:Go  18, ...

  3. GitHub上优秀的开源项目(转载)

    GitHub上优秀的开源项目(转载) 转载出处:https://github.com/Trinea/android-open-project 第一部分 个性化控件(View) 主要介绍那些不错个性化的 ...

  4. 2020年10月份Github上热门的开源项目

    10月份GitHub上最热门的Java开源项目排行已经出炉啦,一起来看看上榜详情吧: 1. base-admin https://github.com/huanzi-qch/base-admin St ...

  5. iOS开发必读-GitHub 上Top100 的 Objective-C 项目

    这篇文章是官方账号在简书推出的文章,感兴趣的请点击下面: 点我看<iOS开发必读-GitHub 上Top100 的 Objective-C 项目> 简单摘录5个项目: 1.AFNetwor ...

  6. 收集的常用Github上比较优秀的项目

    以下是小海收集的常用Github上比较优秀的项目,希望对大家日常开发有所帮助. 在此感谢小海做出的贡献!!! 来源: http://www.eoeandroid.com/thread-546248-1 ...

  7. 川大优秀毕业生在GitHub上建了一个项目《深度学习500问》,还未完结就获赞无数

    近年来,深度学习在语音.图像.自然语言处理等领域都取得了非常不错的成果,自然而然地成为技术人员争相学习的热点. 为了帮助正在学习深度学习的伙伴们,川大的一名优秀毕业生,在GitHub上创建了一个项目: ...

  8. 如何在 GitHub 上高效搜索开源项目(转载)

    如何在 GitHub 上高效搜索开源项目 查看全文 http://www.taodudu.cc/news/show-1347360.html 相关文章: Mybatis.cfg配置标签的顺序问题 To ...

  9. 运行github上下载的vue项目

    文章目录 一.环境准备 1.下载node.js 2.设置cnpm 3.初始化项目脚手架vue-cli 二.运行vue项目 1.从github上下载一个vue项目: 2.安装项目所需的依赖: 3.运行项 ...

最新文章

  1. 奇点、技术失控与技术启示录
  2. 智点创科机器人_秒会机器人教育_秒会机器人教育加盟_秒会机器人教育加盟费多少钱-武汉智点创科机器人科技发展有限公司-项目网...
  3. Mysql+innodb数据存储逻辑
  4. 小米用户画像_鹅智库发布手机品牌用户画像 一二线城市最爱小米 5G领域或占先机...
  5. 【推荐系统】推荐系统冷启动问题
  6. 使用Selenium进行Spring Boot集成测试
  7. x5内核有什么优点_接上U盘就是NAS私有云,蒲公英X5入手测评
  8. 操作系统之进程管理:19、死锁的处理策略:避免死锁(银行家算法)
  9. div+css学习笔记一(转)
  10. 页面导航【WP7学习札记之七】
  11. 计算机制图缺点,CAD与其它制图软件相比较的优缺点
  12. java生成随机数组_Java 生成随机数
  13. 2022-06微软漏洞通告
  14. Jmeter进行上传图片接口测试
  15. Hindsight Experience Replay(HER)技术
  16. 网康科技-下一代防火墙 rce
  17. 学前端没这些工具怎么行
  18. PyCharm打包py文件为exe文件
  19. 心田花开:小学五年级语文上册《小桥流水人家》课件解析
  20. IEEE-Micro 2021-2010年间CPU Micro-architecture方向文章总结

热门文章

  1. 883. 三维形体投影面积
  2. 采用TWH9248/9249的微波探测自动照明灯a
  3. 常见的手机验证api接口有哪些
  4. 使用Sharding-Proxy完成mysql分库分表和主从复制
  5. 组态王图素制作_组态王帮助界面的制作
  6. OpenStack Nova hacking和读书笔记
  7. 【matlab】butter高通/低通/带通滤波
  8. Java实现将本地.html文件以.docx文件格式导出并添加水印
  9. 年轻的乔布斯也会哭泣
  10. ecs服务器网站目录,ecs云服务器的根目录