python-使用API来探索GitHub上星级最高的项目
使用API,并使用Pygal可视化仓库
简介
Web API是网站的一部分,用于与使用非常具体的URL请求特定信息的程序交互。这种请求称为API
调用。请求的数据将以易于处理的格式(如JASON
或CSV
)返回。
使用Pygal
可视化仓库,呈现GitHub
上Python
项目的受欢迎程度。将创建一个交互式条形图:条形的高度表示项目获取了多少颗星。单击条形将进入项目在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上星级最高的项目相关推荐
- (完全解决)Python中pip如何安装github上的一个包
文章目录 前言 安装 结尾 前言 先说几个问题: 并不是github上面的每一个项目都能叫做一个包,一般来说,包的标识:项目的目录下有setup.py文件. 为什么不直接pip install 包名? ...
- GitHub上关于docker的项目排名前十个介绍
一.GitHub上关于docker的项目排名前十个介绍,同时推荐下两本gitbook 1. docker: https://github.com/docker/docker 开发语言:Go 18, ...
- GitHub上优秀的开源项目(转载)
GitHub上优秀的开源项目(转载) 转载出处:https://github.com/Trinea/android-open-project 第一部分 个性化控件(View) 主要介绍那些不错个性化的 ...
- 2020年10月份Github上热门的开源项目
10月份GitHub上最热门的Java开源项目排行已经出炉啦,一起来看看上榜详情吧: 1. base-admin https://github.com/huanzi-qch/base-admin St ...
- iOS开发必读-GitHub 上Top100 的 Objective-C 项目
这篇文章是官方账号在简书推出的文章,感兴趣的请点击下面: 点我看<iOS开发必读-GitHub 上Top100 的 Objective-C 项目> 简单摘录5个项目: 1.AFNetwor ...
- 收集的常用Github上比较优秀的项目
以下是小海收集的常用Github上比较优秀的项目,希望对大家日常开发有所帮助. 在此感谢小海做出的贡献!!! 来源: http://www.eoeandroid.com/thread-546248-1 ...
- 川大优秀毕业生在GitHub上建了一个项目《深度学习500问》,还未完结就获赞无数
近年来,深度学习在语音.图像.自然语言处理等领域都取得了非常不错的成果,自然而然地成为技术人员争相学习的热点. 为了帮助正在学习深度学习的伙伴们,川大的一名优秀毕业生,在GitHub上创建了一个项目: ...
- 如何在 GitHub 上高效搜索开源项目(转载)
如何在 GitHub 上高效搜索开源项目 查看全文 http://www.taodudu.cc/news/show-1347360.html 相关文章: Mybatis.cfg配置标签的顺序问题 To ...
- 运行github上下载的vue项目
文章目录 一.环境准备 1.下载node.js 2.设置cnpm 3.初始化项目脚手架vue-cli 二.运行vue项目 1.从github上下载一个vue项目: 2.安装项目所需的依赖: 3.运行项 ...
最新文章
- 奇点、技术失控与技术启示录
- 智点创科机器人_秒会机器人教育_秒会机器人教育加盟_秒会机器人教育加盟费多少钱-武汉智点创科机器人科技发展有限公司-项目网...
- Mysql+innodb数据存储逻辑
- 小米用户画像_鹅智库发布手机品牌用户画像 一二线城市最爱小米 5G领域或占先机...
- 【推荐系统】推荐系统冷启动问题
- 使用Selenium进行Spring Boot集成测试
- x5内核有什么优点_接上U盘就是NAS私有云,蒲公英X5入手测评
- 操作系统之进程管理:19、死锁的处理策略:避免死锁(银行家算法)
- div+css学习笔记一(转)
- 页面导航【WP7学习札记之七】
- 计算机制图缺点,CAD与其它制图软件相比较的优缺点
- java生成随机数组_Java 生成随机数
- 2022-06微软漏洞通告
- Jmeter进行上传图片接口测试
- Hindsight Experience Replay(HER)技术
- 网康科技-下一代防火墙 rce
- 学前端没这些工具怎么行
- PyCharm打包py文件为exe文件
- 心田花开:小学五年级语文上册《小桥流水人家》课件解析
- IEEE-Micro 2021-2010年间CPU Micro-architecture方向文章总结