爬的是Miguel Grinberg 因为自己的followers太少了
再次打个广告 欢迎来踩我的个人博客
个人博客
Ubuntu上的图片编辑不会用 就没有在图片上进行编辑…(⊙_⊙;)…
刚开始我记得之前按照Python编程从入门到实践来爬的时候用的是Github的api 但是试了之后 发现有一些问题
爬虫的步骤其实是老套路
在爬完的时候共有4064
位followers
用户地理位置词云
看来关注大神的人主要分布在中国
和印度
在中国关注人主要还是居住在北京
嗯~~~ 怪不得北京的python岗位那么多工资那么高
def plot_positon():
"""
graph position
:return:
"""
df = pd.read_csv(data_path)
data_list = list(df['position'])
data_pos = [pos for pos in data_list if str(pos) != 'nan']
#中文转拼音
places = []
for row in data_pos:
place = ''.join(lazy_pinyin(row))
places.append(place)
wordcloud = WordCloud(background_color='white',
width=1024,
height=768,
margin=2,
max_font_size=300).generate(str(places)) #转为str防止报错
wordcloud.to_file('templates/github-places.jpg')
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
用户repositories分析
出于好奇 点开了几位repositories超过1000的大兄弟的主页 嗯 看来还是fork的多哇 有一位大兄弟甚至有13100
个repositories不过我再去搜索的时候就没有这位大大大兄弟了
用户stars分析
在这里不得不说点击star是一个好习惯 毕竟都是耗了一定时间撸的代码 觉得好玩儿就点一个呗
然后我发现了一位老铁是个star狂魔angusshire 217000
个赞 Σ(っ °Д °;)っ嗯~~~ 真是个好习惯啊!!!
用户followers分析
嗯 还是在1~10的人数居多啊 这让我想到了当初有同学刚开github的时候到处问人有没有github 有github就强行让关注ヽ(*。>Д<)o゜ 然后仔细看超过1000的有6位大牛 哇咔咔 有大牛 别拉着我 我要去关注一波(/▽\)
用户following分析
嗯 还是一样1-10的人数居多 不过还有超过1000的是个什么情况嗯~~~ 还是这位点赞狂魔大兄弟 angusshire 不过让我好奇的是为什么他自己的repositories量这么少 但是followers那么多
过去一年用户contributions
嗯 可以看到大多数人的活跃度在1-50之间 那么为什么100-500之间会出现陡增嘞 会不会是每天一点绿的重度用户 譬如这种
def plot_bar(data,name):
"""
graph
:return:
"""
# print(df[:1])
data_list = list(data[name]) #转化为列表方便分析
# print(data_list[:10])
print(len(data_list))
print('max {} = {}'.format(name,max(data_list)))
labels = ['00~00','01-10','11-50','51-100','101-500','501-1000','>1000']
sizes = []
sizes.append(len([count for count in data_list if count == 0]))
sizes.append(len([count for count in data_list if 10>= count> 0]))
sizes.append(len([count for count in data_list if 50>= count > 10]))
sizes.append(len([count for count in data_list if 100>= count > 50]))
sizes.append(len([count for count in data_list if 500>= count > 100]))
sizes.append(len([count for count in data_list if 1000>= count > 500]))
sizes.append(len([count for count in data_list if count > 1000]))
bar = Bar(name,'by KongWiKi')
bar.add('',labels,sizes,is_lable_show=True,mark_line=['max','min'])
bar.render('templates/{}.html'.format(name))
def main():
df = pd.read_csv(data_path)
features = ['stars','followers','following','repositories','contributions']
for i in features:
print(i)
plot_bar(df,i)
plot_positon()
if __name__ == '__main__':
main()
不得不说 pyecharts真心好 要比之前做分析的时候flask+echarts来的要快好多
不玩儿 去学习了