一个 QQ 群及微信群监听系统的实现方案

2016/9/15 posted in  数据

群是一种特殊形式的社区,有相同兴趣或需求的用户聚集在这个社区里,谈天说地。当然,他们也经常会讨论一些产品信息,分享体验,甚至拼团购买。因此,群里的讨论对于品牌来说相当重要,成为品牌的销售机会、售后服务平台,以及危机公关的风向标。

需求

批量聆听 QQ 群/微信群的聊天内容。并在此基础上实现分析、预警等功能。

原理

主要技术方案:用 QQ 账号登录聊天软件网页版,记录存储收到的消息,并做进一步处理。

Collect->Queue: for storage
Collect->Notify: for alert
Queue-->Storage: save messages
Storage->Application: do sth

流程

  • 准备 QQ 小号
  • 启动服务
  • 服务器端启动登录,发送二维码到邮箱
  • 用手QQ机扫描邮箱中收到的二维码,确认登录(二维码过期时间约为两分钟,如果没有完成,会收到一个新的二维码)
  • 程序开始记录消息,提供简单的在线报告

效果

用 ElasticSearch + Kibana 实现的在现报表

对比不同 QQ 群的数据

重点

  • 保证账号在线(下线通知/人工职守)
  • 消息处理(将监听到的消息作快速分析)
  • 监控预警(分析消息后得出结论,进行预警)
  • 在线报告(OEM 订制界面)

备选技术方案

  • 方案1: Mojo-Webqq(最强,服务器端部署) —> 独立实现
  • 方案2: notification center 采集(信息少,可能仅有消息内容)
  • 方案3: 群聊记录导出(实时性差,需要硬件配合)
  • 方案4: 浏览器插件

获取更多数据及服务咨询,请关注微信公众号 toobigdata