用python/R可视化GitHub上的java热门开源项目

直接开始这个小项目吧。

在这个网页中有相关的目前比较热门的开源项目(以star的数目来衡量),打开发现这是典型的json格式啊。

简单分析

经过抓包可发现:

即:

换一换就可知道所有编程语言目前比较热门的开源项目了。

python代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
'''
函数目标:
将GitHub上的java热门的开源项目可视化
编写时间:
2018-3-19
'''
import requests
from matplotlib import pyplot as plt
import pygal
from pygal.style import LightColorizedStyle as lcs, LightenStyle as ls
if __name__ == '__main__':
#添加代理配置
url = 'https://api.github.com/search/repositories'
header = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36',
'Connection': 'keep-alive'}
paramter = {'q': 'language:java',
'sort': 'stars'}
re = requests.get(url=url, params=paramter, headers=header)
# 将网页转化为python字典即用json()函数方法才可显示与网页内容一致!
re.encoding = 'utf-8'
js_cont = re.json()
item = js_cont['items']
star_count = []
names = []
full_names = []
for each in item:
star_count.append(each['stargazers_count'])
names.append(each['name'])
full_names.append(each['full_name'])
# 添加高亮颜色
my_style = ls('#333366', base_style=lcs)
# 添加相关的设置
my_config = pygal.Config()
my_config.label_font_size = 28
bar_chart = pygal.Bar(config=my_config, style=my_style, x_label_rotation=60, show_legend=False)
bar_chart.add('', star_count)
bar_chart.title = 'Java projects stars on Github'
bar_chart.x_labels = names
# 保存至目录下的文件中
bar_chart.render_to_file('Java stars in Github.svg')

之中不懂的可利用好搜索引擎。有一些爬虫的知识。

运行得到:

简单说说用python可视化的感受,比较喜欢用python,用的比较多,意味发现pygal这个库做的图很漂亮。

R代码实现

  • 说明:因为R的爬虫没怎么看,先用可视化…日后有时间爬虫写上…

最后

  • 参考:《python入门与实践》【美】Eric Matthes著
---------------本文终---------------

文章作者:刘俊

最后更新:2019年01月02日 - 14:01

许可协议: 转载请保留原文链接及作者。