看到自己的朋友圈,我和我的小夥伴都驚呆了

  • 2019 年 10 月 6 日
  • 筆記

我們每天日常都在做的事情不再只是吃飯喝水睡覺了,還多了一條——–刷朋友圈。經過某數據統計,我們生活中每人每天平均花在刷朋友圈的時間竟高達兩個小時。這樣的數據說明,其實朋友圈已經融入了我們的生活了,從2012年開始,到現在的六個年頭,微信從一個普通的聊天工具變成了我們生活的一部分,好像真的是做到了不離不棄一樣,那麼,你知道你的微信朋友圈裡都是怎樣的一群人嗎?

或許,你知道。因為你每天一直在刷朋友圈,所以你掌握了朋友圈的所有動向,而有的人就只會選擇性的去看自己的朋友圈,對於一些曾經加過的人都不在關注了,小編在2014年的時候開始使用微信,當時就很著迷微信,經常和朋友們一起聊微信,發朋友圈。但是到現在,我已經很少去發朋友圈,看朋友圈了,現在的時間很緊,工作,程式碼,工作,程式碼(拿錢養家糊口),要不然就只能路邊乞討了

物以類聚,人以群分。每個人的社交圈,家庭圈,朋友圈的屬性,基本我們人格的特徵屬性。我們所處的階級,在別人眼中的印象,在我們的朋友圈中都會得到印證。

朋友圈數據中最具人格屬性的因素是個性簽名,那麼下面我們就把所有好友的個性簽名作為我們的研究對象,以此出發爬取數據。

今天我們就介紹一個工具,使用它來探索你的朋友圈,看看這些年你錯的那些朋友圈的好友。

工具:itchat,jieba,wordcloud,PIL

pip install itchat  pip install wordcloud  pip install jieba  pip install pillow

我們先獲取朋友圈所有人的簽名,將這些簽名都存到一個文件之中。

首先我們需要登錄微信,這個時候直接調用login方法便可以直接登錄微信了:

itchat.login()

之後便會自動生成一個二維碼,掃一掃就可以登錄了。

我們首先獲取微信里的所有好友:

friends = itchat.get_friends(update=True)[0:]

獲取好友是為了拿到他們的朋友圈簽名資訊:

我們使用for循環去遍歷所有的好友,之後獲取朋友圈簽名,接下來使用正則表達式篩選純凈的簽名內容。

tList = []  for i in friends:      signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")      rep = re.compile("1fd.+")      signature = rep.sub("", signature)      tList.append(signature)

將獲取的內容可以寫到一個txt文件里:

strs = "".join(tList)  with open('record.txt','a',encoding='utf-8') as f:      f.write(strs)

我們可以查看這個txt文件,這裡面就是所有的朋友圈簽名了:

現在我們已經獲取了所有的朋友圈簽名,下面我們可以使用jieba進行分詞,統計詞出現的頻率,之後使用詞雲將統計後的效果展示出來。

使用結巴切詞:

import jieba  wordlist_jieba = jieba.cut(text, cut_all=True)  wl_space_split = " ".join(wordlist_jieba)

之後將切完的詞給wordcloud進行展示:

from wordcloud import WordCloud, ImageColorGenerator  import os  import numpy as np  import PIL.Image as Image
d= os.path.dirname(os.path.abspath( __file__ ))  alice_coloring = np.array(Image.open(os.path.join(d, r"3.jpg")))  my_wordcloud = WordCloud(background_color="white",                           max_words=2000,                           mask=alice_coloring,                           max_font_size=400,                           random_state=420,                           font_path=r'C:UsersewuxyuqDesktopframeworksimhei.ttf'                           ).generate(wl_space_split)  my_wordcloud.to_file('wechat.jpg')

運行一下:

這樣,朋友圈簽名的所有分析就完成了。

看看自己的朋友圈,都是勵志的正能量啊,所以,大家今後還要更加努力加油啊!

完整程式碼見GitHub:

https://github.com/johnturingwu/helloworld/blob/master/weixin.py

點擊閱讀原文直接到達。