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

  • 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

点击阅读原文直接到达。