通过分析安卓应用市场的应用数据,并进行分析后,提供应用、游戏的最新趋势,并通过数据挖掘分析推荐有趣的、好玩的应用和游戏。
总体分为以下几个部分:
用于从网络上抓取数据,基于Python实现。通过爬取应用市场的网页数据,并对数据进行分析,抓取需要的数据。
主要包括以下模块:
spider_main 主入口,提供定时拉起任务的能力;
html_downer html页面的下载器,用于向指定的url读取html页面;
parser 解析器,在html_downer下载页面后,用于解析html页面,获取有用的数据信息。parser不是根据固定的html页面内容来进行解析,该parser可以根据配置文件指定的格式来获取相应的数据。 参见parser的设计
parser针对需要解析的内容,支持配置化的数据信息的分析和抓取 详细信息。
当前,parser可以针对以下的页面进行配置化的解析处理 详细信息:
以上的的解析器,按照对应的分类提供独立的解析过程和对应的配置。每一个app应用市场,可以包含以上所有的解析器和对应的配置。
output 数据输出器,用于将解析器分析得到的数据进行输出,当前主要提供以下数据输出器的实现:
[x] 输出成txt文件,可以指定文件的格式(待实现);
[ ] 输出成csv文件;
[ ] 输出到关系型数据库,如Mysql、PostgreSQL等。
对于文件类的输出,一个解析器可能输出的文件可能会是多个,因为一个解析器分析得到的数据会有多个分类。每一个分类的数据,会有输出器输出成对应的文件
这部分用于对数据抓取后的输出进行分析处理。
[ ] app在不同的应用市场的下载量、评价、排行等数据进行综合的分析。分析算法,按照不同的app应用市场对应的权重,按照权重进行加权处理,输出分析后的数据,并格式化存储到数据库中;
[ ] 根据加权后的数据,下载总榜查看app的信息:加权得分,排位,上升位数、下降位数、下载增量; 提供:
图表:柱状图、折线图(不同的维度:下载增量、总下载量、口碑评分)
数据解析、清洗、计算
对抓取的数据进行处理的过程,目的是为了格式化数据,为后续的数据分析做准备。
提供相关的服务功能:
账号服务:账号注册、注销、修改密码、绑定email、绑定社交账号、偏好设定等功能;
推送服务:开启、关闭,推送信息(email推送、社交账号推送)等功能;
推荐:账号访问页面,根据账号的偏好设定,集合数据分析的结果在访问页面提供推荐信息。同时,结合推送服务,在推送时增加推荐的内容;
行为分析:账号在访问页面时,根据访问页面的交互行文,推断和分析客户的偏好是否有变化,以及刷新客户的偏好数据。