1. 程式人生 > >用Python對微信好友進行簡單統計分析,獲取好友的基本資訊!

用Python對微信好友進行簡單統計分析,獲取好友的基本資訊!

早些日子有人問我我的微信裡面有一共多少朋友,我就隨後拉倒了通訊錄最下面就找到了微信一共有多少位好友。然後他又問我,這裡面你認識多少人?這一句話問的我很無語。一千多個好友我真的不知道認識的人有多少。他還緊追著不放了,你知道你微信朋友的男女比例嘛?你知道你微信朋友大部分來自什麼地方嗎?

不知道不知道不知道!偶然有一天碰到大大的一條朋友圈,大概是對微信朋友做一個分析,於是乎我才想起我也可以做一些簡單的統計,於是就有了今天的內容。今天的內容會以程式碼簡單講解結果展示為嚮導。

以下的程式碼內容只涉及一些簡單的Python知識,稍微有一點Python知識的朋友都可以讀下去。 如果你沒有Python的知識你可能需要去學習一下Python,當然你也可以不用學,搭建好Python的環境就好,期間可能需要用到一些庫需要自己去解決一下,在下文中也會詳細訴述。

第一步:首先抓取微信朋友的資料

既然是要做統計和分析,第一步就是微信朋友的所有可以抓取的資料抓取出來。所謂有用的資料大致來說有以下幾個內容:

暱稱、微訊號、城市、性別、星標好友、頭像、個性簽名、備註

每一項或者聯合項可以做的統計

性別:好友性別統計

城市:好友地區分佈

備註+暱稱:大致統計認識的好友比例

頭像:人臉識別

那麼如何抓取呢?這裡使用了之前有一位大神寫的如何找出被刪的好友的程式碼,修改部分為從提取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,群裡學習資料免費贈送給大家喔!

本文來自網路,如有侵權,請聯絡小編刪除!