前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >看到自己的朋友圈,我和我的小伙伴都惊呆了

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

作者头像
我被狗咬了
发布2019-09-23 11:02:39
2960
发布2019-09-23 11:02:39
举报
文章被收录于专栏:Python乱炖Python乱炖

我们每天日常都在做的事情不再只是吃饭喝水睡觉了,还多了一条--------刷朋友圈。经过某数据统计,我们生活中每人每天平均花在刷朋友圈的时间竟高达两个小时。这样的数据说明,其实朋友圈已经融入了我们的生活了,从2012年开始,到现在的六个年头,微信从一个普通的聊天工具变成了我们生活的一部分,好像真的是做到了不离不弃一样,那么,你知道你的微信朋友圈里都是怎样的一群人吗?

或许,你知道。因为你每天一直在刷朋友圈,所以你掌握了朋友圈的所有动向,而有的人就只会选择性的去看自己的朋友圈,对于一些曾经加过的人都不在关注了,小编在2014年的时候开始使用微信,当时就很着迷微信,经常和朋友们一起聊微信,发朋友圈。但是到现在,我已经很少去发朋友圈,看朋友圈了,现在的时间很紧,工作,代码,工作,代码(拿钱养家糊口),要不然就只能路边乞讨了

物以类聚,人以群分。每个人的社交圈,家庭圈,朋友圈的属性,基本我们人格的特征属性。我们所处的阶级,在别人眼中的印象,在我们的朋友圈中都会得到印证。

朋友圈数据中最具人格属性的因素是个性签名,那么下面我们就把所有好友的个性签名作为我们的研究对象,以此出发爬取数据。

今天我们就介绍一个工具,使用它来探索你的朋友圈,看看这些年你错的那些朋友圈的好友。

工具:itchat,jieba,wordcloud,PIL

代码语言:javascript
复制
pip install itchat
pip install wordcloud
pip install jieba
pip install pillow

我们先获取朋友圈所有人的签名,将这些签名都存到一个文件之中。

首先我们需要登录微信,这个时候直接调用login方法便可以直接登录微信了:

代码语言:javascript
复制
itchat.login()

之后便会自动生成一个二维码,扫一扫就可以登录了。

我们首先获取微信里的所有好友:

代码语言:javascript
复制
friends = itchat.get_friends(update=True)[0:]

获取好友是为了拿到他们的朋友圈签名信息:

我们使用for循环去遍历所有的好友,之后获取朋友圈签名,接下来使用正则表达式筛选纯净的签名内容。

代码语言:javascript
复制
tList = []
for i in friends:
    signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")
    rep = re.compile("1f\d.+")
    signature = rep.sub("", signature)
    tList.append(signature)

将获取的内容可以写到一个txt文件里:

代码语言:javascript
复制
strs = "".join(tList)
with open('record.txt','a',encoding='utf-8') as f:
    f.write(strs)

我们可以查看这个txt文件,这里面就是所有的朋友圈签名了:

现在我们已经获取了所有的朋友圈签名,下面我们可以使用jieba进行分词,统计词出现的频率,之后使用词云将统计后的效果展示出来。

使用结巴切词:

代码语言:javascript
复制
import jieba
wordlist_jieba = jieba.cut(text, cut_all=True)
wl_space_split = " ".join(wordlist_jieba)

之后将切完的词给wordcloud进行展示:

代码语言:javascript
复制
from wordcloud import WordCloud, ImageColorGenerator
import os
import numpy as np
import PIL.Image as Image
代码语言:javascript
复制
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:\Users\ewuxyuq\Desktop\framework\simhei.ttf'
                         ).generate(wl_space_split)
my_wordcloud.to_file('wechat.jpg')

运行一下:

这样,朋友圈签名的所有分析就完成了。

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

完整代码见GitHub:

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

点击阅读原文直接到达。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python乱炖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档