#社交网络分析平台
##功能
- 支持各大常见社交平台接入,之后可以进行相应的统计分析。
- 统计分析包括(以微博为例),包括以下方面
- 微博转发数、评论数、点赞数
- 微博转发人群性别比例
- 微博以时间线为横坐标,转发数为纵坐标折线图
- 微博地理位置(省份)为权的地理位置统计
- 微博转发历史无向图(以转发者为节点)
- 微博关键字分析
- 微博热点(可选)
- 接入方式:
- 统一的对外API
- 社交平台本身提供相应API的,直接调用
- 不支持API的,通过爬虫,预先导入数据库等方式手动获取
- 暂支持社交平台
- 微博
- 实现方式
- Play Framework
- 数据库MongoDB
- 关键词分析:LDA,Lucence
##项目结构
-
Web框架:Play Framework 2.4.x
-
数据库:MongoDB 3.0 +
-
项目结构:
app
-- 所有代码文件constroller
-- 控制器处理请求响应edu
&org
-- NLP分词语言处理models
-- 请求处理,分析逻辑,数据库ORMutils
-- 辅助类views
-- 前端渲染模版,以*.scala.html
为名
conf
-- 配置文件database
-- MongoDB数据库转储路径doc
-- 文档,展示Slides,实例视频lib
-- 本地依赖logs
-- 日志路径test
-- 测试代码resource
-- NLP分词词库- 其他:
activator
&activator.bat
-- 启动构建脚本activator-launch-1.3.5.jar
-- 实际构建启动jarbuild.sbt
-- SBT构建配置文件
##开发
1.导入数据库 首先下载MongoDB,版本为3.0+即可,对应操作系统下载对应的Server端,以下命令行以OS X为例,对应操作系统请选择对应的软件和命令。
brew install mongodb
使用MongoDB自带mongorestore,导入bson文件到MongoDB数据库
mongorestore --host YOUR_HOST_IP --port 27017 --username YOUR_USER_NAME --password YOUR_PASSWORD /path/to/bson/file.bson
包括数据库文件,路径在database/
下
outcome.bson -- 对应分析结果Collection
socialmessage.bson -- 对应社交平台(如微博)的微博Collection
socialuser.bson -- 对应社交平台(如微博)的用户Collection
user.bson -- 对应本平台用户Collection
2.配置文件
路径:conf/application.conf
# MongoDB URI -- 改为自己的MongoDB URI
app.mongodb.uri = "mongodb://localhost:27017/socialplus"
# App keys
# Weibo -- 分别对应微博的AppKey,Secret和回调URL
app.weibo.appkey = "xxxxx"
app.weibo.secret = "xxxxx"
app.weibo.redirectURL = "http://YOUR_IP:9000/api/weibo/auth"
3.运行构建
注:Windows下构建请使用activator.bat
批处理代替activator
脚本
首先确保可执行权限
chmod +x ./activator
再执行
activator run
项目将自动下载依赖到~/.ivy2,包括SBT依赖和Maven依赖,若下载问题请使用代理。然后在9000端口启动,可通过http://localhost:9000/
访问
注:为了使用微博的Oauth认证,请使用http://本机IP:9000/
来访问
##部署
sudo activator "start -Dhttp.port=80"
项目将在80端口启动,通过http://本机IP/
或者绑定域名访问