爬的是Miguel Grinberg 因为自己的followers太少了

再次打个广告 欢迎来踩我的个人博客
个人博客

0x01 爬取用户信息

  • 用户名称
  • 用户所在位置
  • 用户Repositories、Stars、Followers、Following
  • 去年一年的贡献量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-geITb2v3-1589990123733)(http://p39e7cgx2.bkt.clouddn.com/github-%E4%BE%8B%E5%AD%90.png)]

Ubuntu上的图片编辑不会用 就没有在图片上进行编辑…(⊙_⊙;)…

刚开始我记得之前按照Python编程从入门到实践来爬的时候用的是Github的api 但是试了之后 发现有一些问题

  1. API请求频率有限制 无法通过多线程获取批量的用户信息
  2. 无法获取用户过去一年的contributions

爬虫的步骤其实是老套路

  1. 先获取目标用户Miguel Grinberg 的所有followers
  2. 根据follower构造该用户的URL遍历所有用户
  3. 提取所需信息
  4. 数据清洗
  5. EDA

0x02 环境

  • Re
  • 多进程
  • Requests
  • Python3.5
  • pyecharts

0x03分析结果

在爬完的时候共有4064位followers

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7tsq2cxs-1589990123735)(http://p39e7cgx2.bkt.clouddn.com/github-%E7%BB%9F%E8%AE%A1.png)]

  1. 用户地理位置词云

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pbRzodV7-1589990123739)(http://p39e7cgx2.bkt.clouddn.com/github-places.jpg)]

    看来关注大神的人主要分布在中国印度 在中国关注人主要还是居住在北京 嗯~~~ 怪不得北京的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()
    

  2. 用户repositories分析

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sHDBdchJ-1589990123742)(http://p39e7cgx2.bkt.clouddn.com/github-repositories.png)]

    出于好奇 点开了几位repositories超过1000的大兄弟的主页 嗯 看来还是fork的多哇 有一位大兄弟甚至有13100个repositories不过我再去搜索的时候就没有这位大大大兄弟了

  3. 用户stars分析

    在这里不得不说点击star是一个好习惯 毕竟都是耗了一定时间撸的代码 觉得好玩儿就点一个呗

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZhNvvmJS-1589990123744)(http://p39e7cgx2.bkt.clouddn.com/github-stars.png)]

    然后我发现了一位老铁是个star狂魔angusshire 217000个赞 Σ(っ °Д °;)っ嗯~~~ 真是个好习惯啊!!!

  4. 用户followers分析

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jkZzVvls-1589990123745)(http://p39e7cgx2.bkt.clouddn.com/github-followers.png)]

    嗯 还是在1~10的人数居多啊 这让我想到了当初有同学刚开github的时候到处问人有没有github 有github就强行让关注ヽ(*。>Д<)o゜ 然后仔细看超过1000的有6位大牛 哇咔咔 有大牛 别拉着我 我要去关注一波(/▽\)

  5. 用户following分析

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1TmhFVRq-1589990123747)(http://p39e7cgx2.bkt.clouddn.com/github-following.png)]

    嗯 还是一样1-10的人数居多 不过还有超过1000的是个什么情况嗯~~~ 还是这位点赞狂魔大兄弟 angusshire 不过让我好奇的是为什么他自己的repositories量这么少 但是followers那么多

  6. 过去一年用户contributions

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gd2klj4T-1589990123748)(http://p39e7cgx2.bkt.clouddn.com/github-contributions.png)]

    嗯 可以看到大多数人的活跃度在1-50之间 那么为什么100-500之间会出现陡增嘞 会不会是每天一点绿的重度用户 譬如这种

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lFtcbkDl-1589990123749)(http://p39e7cgx2.bkt.clouddn.com/github-show.png)]

    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()
    

0x04 总结

不得不说 pyecharts真心好 要比之前做分析的时候flask+echarts来的要快好多

不玩儿 去学习了

github用户followers分析相关推荐

  1. 家用电器用户行为分析与事件识别_用户行为分析埋点实时数仓实践

    点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多惊喜 大数据技术与架构点击右侧关注,大数据开发领域最强公众号! 大数据真好玩点击右侧关注,大数据真好玩! ...

  2. 数据分析与挖掘实战-家用电器用户行为分析与事件识别

    家用电器用户行为分析与事件识别 背景 居民使用家电过程中,会因为地区气候.区域不同.年龄差异,形成不同的使用习惯,若能深入了解这些习惯,针对性地开发新功能,便能开拓市场. 本案例以热水器为例,分析用户 ...

  3. django 跳转其他网站_Django 实战 | 搭一个 GitHub 用户展示网站 04

    一.搜索页面跳转 在 urls.py 中添加一个 user 路径: from django.urls import path from . import viewsurlpatterns = [pat ...

  4. JRs在看啥?- 虎扑社区用户行为分析

    前阵子,一条微博成功引起了我的注意: 没想到你竟是这样的虎扑! 正好我们也在做网站的数据分析案例,不如就用 Python 来分析下,虎扑你这个"直男论坛"到底是怎样的? 数据来源 ...

  5. 数据可视化:利用Python和Echarts制作“用户消费行为分析”可视化大屏

    数据可视化:利用Python和Echarts制作"用户消费行为分析"可视化大屏 前言 实验目的: 准备工作: 一.创建项目: 二.建立数据库连接获取数据: 三.页面布局: 四.下载 ...

  6. 数据分析与挖掘实战-电子商务网站用户行为分析及服务推荐

    电子商务网站用户行为分析及服务推荐 背景 随着互联网和信息技术的迅速发展,电子商务.网上服务与交易等网络业务越来越普及,大量的信息聚集起来,形成了"海量"信息.用户想要从海量信息中 ...

  7. Github API:爬取Github用户数据

    Github API:爬取Github用户数据 引言 目标:根据给定的论文中中文作者的英文名字(实际上就是拼音),从Github上获取用户邮箱信息. 一.Github API介绍 详细的开发者文档 想 ...

  8. 用户行为分析的背景以及几种模型分析、实例分析——淘宝用户行为分析

    这里写目录标题 1. 绪论 1.1了解用户行为分析 1.2用户行为分析的目的 2.用户行为分析的具体内容 2.1用户行为分析的指标 2.2用户行为分析模型 2.2.1漏斗模型分析 2.2.2用户留存分 ...

  9. 淘宝用户体验分析方法论

    本专题共10篇内容,包含淘宝APP基础链路过去一年在用户体验数据科学领域(包括商详.物流.性能.消息.客服.旅程等)一些探索和实践经验,本文为该专题第一篇. 在商详页基于用户动线和VOC挖掘用户决策因 ...

最新文章

  1. 活动报名丨悟道开放日:大模型最新研究进展、应用开发训练营、50+闪电演讲作者面对面...
  2. 自己动手修改龙邱信标灯固件FM频率
  3. 设计模式 - 观察者模式(JDK)
  4. Maven项目SSM整合中mysql8.0.11对应Druid版本问题以及pom.xml写法
  5. python-面向对象编程设计与开发
  6. Problem D: 链表的基本运算(线性表)
  7. git-分支的冲突与冲突的解决
  8. ffmpeg解码H.264视频数据,MFC播放视频
  9. android 四周发散阴影,view 添加四周阴影效果
  10. 如何实现上一条、下一条的功能
  11. 模型保存的方法-----仅保存架构
  12. 留学生吐槽阿里面试几宗罪:槽点太多,不符合阿里大企业形象!
  13. 图像增强处理之:同态滤波与Retinex算法(三)Retinex邻域算法:SSR,MSR,MSRCR
  14. Flask在Windows环境下的部署
  15. [C#] TestHttpPost:测试Http的POST方法的小工具
  16. MT7621搭载openwrt实现U盘等设备自动挂载
  17. 计算长方体和四棱锥的表面积和体积(类的继承)python java
  18. 基于Python(Django)+MongoDB实现的(Web)新闻采集和订阅系统【100010319】
  19. Java抽象类(abstract)
  20. OpenCV中使用Eigenfaces人脸识别器识别人脸实战(附Python源码)

热门文章

  1. Template /template/pimple/a.ftl not found
  2. 空间,线性空间,赋范空间,内积空间和希尔伯特空间的区别
  3. 如何软著办理,软著申请步骤,软著办理流程
  4. 工作中,掌握这四个说话技巧,再也不用担心自己不会说话
  5. 利用AJAX做天气预报
  6. numpy的stack大白话解释
  7. BTN7970在直流电机驱动系统中的应用
  8. Linux云计算好学吗?Linux云计算运维学习资料 Vim编辑器
  9. windows下如何使用配置七牛qshell命令工具
  10. 惠普m202dw_HP LaserJet Pro M202dw 激光打印机