用 python 對 github 用戶 followers 分析
如何分析一個github用戶的followers?
周末手癢,用python分析了一下自己 github 的 followers 用戶,統計結果如下
問題分析
在github上,一個用戶的主頁顯示如下,主要對如下用戶信息進行提取
- 用戶名稱
- 所在的位置
- 用戶倉庫、stars、Followers、Following數量
- 去年一年的貢獻度
我們需要對上圖紅框裡面的數據進行提取,最直接的方法是使用requests
,通過BeautifulSoup
對html
中的信息進行提取。
一些彎路
最開始沒打算用爬蟲的方式來獲取用戶信息,因為github有公開的REST API v3可以對指定用戶的信息進行訪問,並且已經有打包好的PyGithub方便調用。但是我實驗下來有如下問題所以放棄使用REST API v3
- API請求頻率有限制,無法運用多線程快速獲取批量的用戶信息
- 不知道是不是小BUG,通過API無法獲得用戶去年一年的貢獻度contributions
工具
- python 3 : 徹底告別我的py2
- BeaufulSoup :從HTML或XML文件中提取數據
- Requests : 請求網頁
- 多進程 : 為了更快
- pyecharts : 美的令人窒息的繪圖工具
操作步驟
- 獲取目標用戶如
https://github.com/wangshub?page=1&tab=followers
的所有followers; - 改變
page
編號,遍歷所有用戶; - 提取用戶關鍵信息,保存成
csv
文件; - 數據清洗,過濾;
- 利用pyecharts繪圖;
- 進行地點詞頻統計;
實驗結果
截止2018-01-15
,我的github賬號一共有1214
名follower,分析結果如下
用戶地點分析
排除掉沒有填寫地點信息的用戶,將其中中文轉化成pinyin後,詞雲如下
用戶基本上都是來自北京、上海、深圳
等地
去年一年用戶貢獻度分析
如果看用戶是否活躍,肯定是看contributions
啦
可以看出超過一般多的用戶,去年的貢獻度都在都在 1~50 之間,新的一年要加油啦。其中一年貢獻最多的用戶是@dragon-yuan, 在2017年有整整 4,197 個貢獻度,不多說了,前去關注一波。
用戶followers分析
哇,有大牛,別攔著我,我要去點關注了
用戶倉庫數量分析
通過爬取用戶的倉庫數量,進行統計如下
可以看到一個有意思的現象,有少數的人倉庫數量超過了1000,打開這幾位仁兄的github主頁,大部分是fork的項目,其中倉庫最多的用戶有13100個倉庫,叫@ProgrammerAndHacker,他是這麼介紹自己的
I follow best programmer and hacker, nDo you want to hacked by them? ^_^ nBest programmers and hackers are here: n...n
用戶stars分析
都說點擊star是一個好習慣,
不得不說,github上面還是有點贊狂魔的,這位老鐵@chenruibin一共點擊了10100
個贊,真是好習慣~
用戶 following 分析
同樣是@ProgrammerAndHacker這位仁兄,一共follow了19600個用戶,嚴重懷疑是不是機器人。
最後
好睏????不搞了,我要去寫論文了T_T,歡迎提寶貴意見,代碼在這裡https://github.com/wangshub/who_is_following
PS:歡迎關注我的微信公眾號[舒林笑笑生]
推薦閱讀:
※《網路爬蟲:從入門到實踐》一書勘誤
※你猜簡書有多少名簽約作者?
※爬蟲工程師?
※福布斯系列之數據採集 | Python數據分析項目實戰