早些日子有人問我個人微信裏面有一共多少朋友,我就隨後拉倒了通信錄最下面就找到了微信一共有多少位好友。而後他又問我,這裏面你認識多少人?這一句話問的我很無語。一千多個好友我真的不知道認識的人有多少。他還緊追着不放了,你知道你微信朋友的男女比例嘛?你知道你微信朋友大部分來自什麼地方嗎?python
不知道不知道不知道!偶然有一天碰到大大的一條朋友圈,大概是對微信朋友作一個分析,因而乎我纔想起我也能夠作一些簡單的統計,因而就有了今天的內容。今天的內容會以代碼簡單講解結果展現爲嚮導。算法
如下的代碼內容只涉及一些簡單的Python知識,稍微有一點Python知識的朋友均可以讀下去。 若是你沒有Python的知識你可能須要去學習一下Python,固然你也能夠不用學,搭建好Python的環境就好,期間可能須要用到一些庫須要本身去解決一下,在下文中也會詳細訴述。json
第一步:首先抓取微信朋友的資料瀏覽器
既然是要作統計和分析,第一步就是微信朋友的全部能夠抓取的資料抓取出來。所謂有用的資料大體來講有如下幾個內容:微信
暱稱、微信號、城市、性別、星標好友、頭像、個性簽名、備註網絡
每一項或者聯合項能夠作的統計echarts
性別:好友性別統計函數
城市:好友地區分佈學習
備註+暱稱:大體統計認識的好友比例ui
頭像:人臉識別
那麼如何抓取呢?這裏使用了以前有一位大神寫的如何找出被刪的好友的代碼,修改部分爲從提取json數據截斷,對返回的json數據進行提取分別找到了如下的所須要的信息:
代碼修改成:
所返回的json結果以下圖所示
暱稱、微信號、城市、性別、星標好友、頭像、個性簽名、備註。提取以上信息,對頭像圖片進行下載,並對數據進行簡單的清洗等等,最後一列爲微信號不方便顯示。
第二步:性別統計和地區分佈
使用python的pandas科學計算庫進行簡單的統計,若是你沒有用過,能夠聯繫小編安裝學習:
只要掌握了很是簡單的pandas只是就能夠繼續往下看作如下統計
(1)、全部好友的男女比例
(2)、全部好友的城市分佈
(3)、統計認識的朋友以及佔全部朋友的百分比
統計方法:全部朋友 - 沒有備註的朋友 - 備註與暱稱相同的朋友
若是你們在學習Python的路上,或者打算學習Python須要學習資料,能夠加羣571799375,羣裏學習資料免費贈送給你們喔!
(4)、統計認識的朋友中的男女比例
統計方法:對三的結果再進行男女劃分便可獲得結果
把結果作成簡單的圖表(主要使用了百度的echarts做圖)(不得不說百度其餘產品雖然不怎麼樣,可是百度的echarts仍是不錯的喲,他的官網:http://echarts.baidu.com/)
使用地圖慧江蘇省好友分佈,這個編碼我不知怎麼回事,多是瀏覽器問題,回頭我用其它瀏覽器查看一下。(地圖匯比較傻瓜:http://www.dituhui.com/)
最後再生成省份好友分佈地圖
最後運用opencv的圖像識別進行人像識別,統計微信好友中用人像做爲頭像的好友人數。
OpenCV的全稱是:Open Source Computer Vision Library。OpenCV是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,能夠運行在Linux、Windows和Mac OS操做系統上。它輕量級並且高效——由一系列 C 函數和少許 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的不少通用算法。
以下開始是對抓取的朋友頭像進行遍歷識別是否含有人臉,代碼以下。
使用人像作頭像的好友:59 所以不使用人像的1133,看來使用人像的人仍是不多的。
運行提取人像頭像的代碼最後提取出的頭像以下所示 ,不得不說Python的庫真是十分的有用。(由於涉及到隱私,因此這裏不會展現過多的頭像)
最近仍然在研究簽名以及頭像的可用之處,也是歡迎你們一塊兒學習交流。同時但願以上的內容能夠提高一下你們的學習興趣。關於微信好友的更多挖掘會不斷進行。
(1)、人像頭像與年齡之間的關係
(2)、個性簽名與年齡性格之間的關係
(3)、微信號中所包含信息推算年齡層次,預測當前微信號年齡
以上就是本文的所有內容,但願對你有所幫助!
若是你們在學習Python的路上,或者打算學習Python須要學習資料,能夠加羣571799375,羣裏學習資料免費贈送給你們喔!
本文來自網絡,若有侵權,請聯繫小編刪除!