是时候看看我的朋友圈都是些什么货色了 - 微信朋友圈数据爬取/分析/关键字云

最近看到有其他博主做了博客的关键词云,于是想到了自己那一帮可(sang)(xin)(bing)(kuang)的票圈小伙伴们。Victor的朋友圈不算大,但信息量也不小。

分析目标

基本需求: 是像这样的一张图(侵删)
92e12175582c2a0b2b152ac5ee61624.png当然,这个demo里语气词和无意义词较多,我在之后的尝试中尽力去移除这些无关的词语。

附加需求:

  • 对每位好友进行朋友圈性格评估,给出描述关键词
  • 对朋友圈友际互动关系/亲密度进行评估和排名
  • 分析不同朋友圈(以我为例,大学同学/中学同学/技术圈)的区别/共性和以时间为中轴的变化趋势
  • 待添加的需求

初步思路

利用Java/Xposed Fw/Android/第三方工具对朋友圈数据进行爬取和处理,存储到数据库中后使用Python相关库进行分析。 网上有一些利用“微信书”来分析的做法,我并不是很喜欢。这会让第三方获取到个人朋友圈的数据,这不是我们想要的。不想让朋友圈里可爱的狗子们让别人给溜走辽(*/ω\*)

  • 关键词云

    • Python Lib: jieba + wordcloud
    • 考虑使用第三方AI分词平台: 阿里云等
  • 情感分析

    • 第三方AI自然语言处理平台: 阿里云、腾讯云、科大讯飞等
  • 互动分析

    • 将发送Moment, 评论, 点赞三种活动排成以“攻♂体->受♂体”为区分项的事件
    • 发送Moment和评论从长度、特殊标点使用情况、表情使用情况、语法合法性、发送频率、情感表多个粒度进行分析
    • 由基准分+各粒度分加权合并成事件总分

实践

有了基本思路,就可以开始试着做了。
p.s.: 有一些朋友在朋友圈设置了三天或半年可见权限,故无法收集到全面的数据。

采集朋友圈数据

微信并没有开放获取朋友圈内容的接口,所以我们只能从非常规办法获取朋友圈数据。
微信朋友圈数据存储在一个 SQLite 数据库中,且不加密存储。我们可以直接读取内容。
什么?? 你在期待我一个个复制粘贴?? 别想了,不存在的。优秀的人就该用优秀的办法。
从项目 Chion82/WeChatMomentStat-Android 获得启发,我们先从手机上用能用的办法划到所有的朋友圈。

  1. 一台 拥有root权限的 Android 手机(由于Huawei在5月份停止了解锁码的放行,暂时不打算折腾手机,这一操作由模拟器代劳)
  2. 在朋友圈页面,微信最多支持查看34天前的朋友圈。在好友列表里,微信支持查看朋友设定权限范围内所有的朋友圈。
  3. 下载上一项目的Release,安装到Android上.
  4. 将最新的微信朋友圈数据库(/data/data/com.tencent.mm/MicroMsg/{random secret}/SnsMicroMsg.db) 复制到位于内部存储 WeChatMoment-Stat文件夹的目录下.
  5. 进入软件,进行自带的初步分析并导出json.
  6. 发送 SnsMicroMsg.dball_sns.json 文件到PC以便进一步分析.
    在这里,第一次收集时其实我看到了一个“欧·亨利”式的数字:

125位好友, 34天,1621条朋友圈,每天约47.67条。
c3ad0ed4e10c956873ed16415756505.png

信息爆炸时代,我们该何去何从?


<待更新>

Last modification:November 2nd, 2018 at 01:41 pm

One comment

  1. Amos

    我们不生产信息,我们只是信息的搬运工

Leave a Comment