本发明涉及网络数据领域,特别是一种一种网络数据采集、存储及处理方法及系统。
背景技术:
信息网络技术的快速发展,带来了网络信息量的指数性增长。在网络信息资源充足的条件下,为了快速、针对性获取相关网络信息,促使了搜索引擎的诞生。搜索引擎是指运用特定的计算机程序按照一定的策略自动从因特网上搜集信息,在对信息进行组织和处理以后,提供给用户检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎从因特网上搜集信息的过程,依赖于网络蜘蛛对相关网站信息的爬取。网络蜘蛛是一种自动浏览网络,分析网页内容的程序,是搜索引擎的重要组成部分。
在现有技术中,对于普通的搜索引擎,网络爬虫从一个或若干初始网页的url开始,在抓取网页的过程中,不断从当前页面上匹配新的url放入待抓取url队列中,直到满足系统特定的停止条件。另外,网络爬虫通过普通请求进行机械式操作不断爬取网站信息,消耗大量网站资源,造成网站负载过大甚至导致网站奔溃。有些网络爬虫并没有使用用户代理(useragent)伪装,容易被目标站点列为黑名单。如今网页的结构越来越复杂,有些基于ajax异步加载的页面数据难以采集。
目前的网络爬虫通常不针对特定字段,而是按照整体网页内容进行分门别类;有的爬虫只采集相关的特定字段,但是采集到的信息局限于简化展示,没能很好的融合到自身的业务平台上,对数据信息潜在的价值也没能进行更深一步的挖掘。在大数据信息时代,挖掘数据的潜在价值尤为重要。
因此,如何解决现有技术中网络爬虫爬取网站效率低下以及利用采集信息挖掘数据价值,便成为亟待解决的技术问题,如何盘活数据价值,使得数据驱动业务,成了需要研究的行业难题。
技术实现要素:
本发明的目的在于克服现有技术的缺点与不足,提供了一种网络数据采集、存储及处理方法及系统。
本发明通过以下的方案实现:一种网络数据采集、存储及处理方法,包括以下步骤:
s1:对网络数据进行采集;
s2:对采集到的数据进行存储;
s3:将存储的数据进行处理;
其中,所述步骤s1中具体包括:
s11:对url进行存储管理分析;
s12:进行自动化任务调度;
s13:生成并行化爬取任务,将抓取的html文件进行保存;
s14:解析html文档树,提取需要的字段信息;
其中,所述步骤s11具体包括以下步骤:
s111:通过url数据库存储每个url的访问量、有效访问量、正确解析入库次数、是否需要useragent参数、url类型、url平台;
s112:通过白名单url表格和黑名单url表格将url进行划分;所述白名单url表示可正常爬取,所述黑名单url表示不可正常爬取;
s113:分析爬取黑名单中的url的错误输出日志,并进行优化处理,优化处理后的url转化为白名单。
作为本发明的进一步改进,所述步骤s112中,在对url进行划分时,通过分析每个url有效访问量的比例和正确解析入库次数,对并url进行判断,若不符合设定的爬取条件则将该url归类到黑名单,否则归类到白名单。
作为本发明的进一步改进,所述步骤s12中具体包括:
s121:获取白名单表格,根据数据平台业务的爬取需求,进行任务配置;所述任务配置为:设置主线任务配置的调度器和临时任务配置的调度器,其中所述主线任务调度器用于服务例行化的爬取任务需求,临时任务调度器用于服务临时的爬取任务需求;
s122:对主线任务进行配置时,根据数据平台业务的爬取需求以及服务器负载情况,制定定时爬取策略;对临时任务进行配置时,通过在临时任务调度的配置入口接收需要爬取的url参数。
作为本发明的进一步改进,所述步骤s13中具体通过scrapy应用框架进行网站数据爬取,且该scrapy应用框架中嵌入了程序快速校验测试、数据库存储配置,用于根据配置输出的内容对爬取任务进行监控。
作为本发明的进一步改进,所述步骤s14中还将html内容中的新连接url传递至url数据库中。
作为本发明的进一步改进,所述步骤s2中具体包括:
s21:对采集到的信息,进行数据清洗;
s22:将清洗完的数据再通过对目标字段进行hash处理,建立映射后写入原始数据库;
s23:取出原始数据库的hash集合a和业务数据库的hash集合b;计算需要新添加的数据集合s1,即为a和b的差集
s24:将集合s1映射的数据插入到业务数据库,将集合s2映射的数据更新到业务数据库;
s25:将业务数据库与线上平台数据库进行对比,更新业务数据库中的扩展信息。
作为本发明的进一步改进,所述步骤s3中包括:
s31:进行数据分析,包括对数据可视化展示和进行统计分析;
s32:进行数据挖掘,包括根据业务主题进行数据挖掘;
s33:进行数据同步处理,以更新本地业务数据库。
本发明还提供了一种网络数据采集、存储及处理系统,其包括:
数据采集装置,用于对网络数据进行采集;
数据存储装置,用于对采集到的数据进行存储;
数据处理装置,用于将存储的数据进行处理;
所述数据采集装置包括:
url存储管理模块,用于对url进行存储管理分析;
任务调度模块,用于进行自动化任务调度;
爬取模块,用于生成并行化爬取任务,将抓取的html文件进行保存;
解析模块,用于解析html文档树,提取需要的字段信息;
其中,所述url存储管理模块包括:
url数据库,用于存储每个url的访问量、有效访问量、正确解析入库次数、是否需要useragent参数、url类型、url平台;
划分模块,用于通过白名单url表格和黑名单url表格将url进行划分;所述白名单url表示可正常爬取,所述黑名单url表示不可正常爬取;
分析模块,用于分析爬取黑名单中的url的错误输出日志,并进行优化处理,优化处理后的url转化为白名单。
作为本发明的进一步改进,所述划分模块在对url进行划分时,通过分析每个url有效访问量的比例和正确解析入库次数,对并url进行判断,若不符合设定的爬取条件则将该url归类到黑名单,否则归类到白名单。
作为本发明的进一步改进,所述任务调度模块中包括:
获取模块,用于获取白名单表格,根据数据平台业务的爬取需求,进行任务配置;所述任务配置为:设置主线任务配置的调度器和临时任务配置的调度器,其中所述主线任务调度器用于服务例行化的爬取任务需求,临时任务调度器用于服务临时的爬取任务需求;
任务配置模块,用于对主线任务进行配置时,根据数据平台业务的爬取需求以及服务器负载情况,制定定时爬取策略;对临时任务进行配置时,通过在临时任务调度的配置入口接收需要爬取的url参数。
作为本发明的进一步改进,所述爬取模块通过scrapy应用框架进行网站数据爬取,且该scrapy应用框架中嵌入了程序快速校验测试、数据库存储配置,用于根据配置输出的内容对爬取任务进行监控。
作为本发明的进一步改进,所述解析模块还用于将html内容中的新连接url传递至url数据库中。
作为本发明的进一步改进,所述数据存储装置包括:
数据清洗模块,用于对采集到的信息,进行数据清洗;
hash处理模块,用于将将清洗完的数据再通过对目标字段进行hash处理,建立映射后写入原始数据库;
提取模块,用于取出原始数据库的hash集合a和业务数据库的hash集合b,计算需要新添加的数据集合s1,即为a和b的差集
更新模块,用于将集合s1映射的数据插入到业务数据库,将集合s2映射的数据更新到业务数据库;
比对模块,用于将业务数据库与线上平台数据库进行对比,更新业务数据库中的扩展信息。
作为本发明的进一步改进,所述数据处理装置包括:
数据分析模块,用于进行数据分析,包括对数据可视化展示和进行统计分析;
数据挖掘模块,用于进行数据挖掘,包括根据业务主题进行数据挖掘;
数据同步处理模块,用于进行数据同步处理,以更新本地业务数据库。
本发明还提供了一种网络数据采集方法,包括以下步骤:
s11:对url进行存储管理分析;
s12:进行自动化任务调度;
s13:生成并行化爬取任务,将抓取的html文件进行保存;
s14:解析html文档树,提取需要的字段信息;
其中,所述步骤s11具体包括以下步骤:
s111:通过url数据库存储每个url的访问量、有效访问量、正确解析入库次数、是否需要useragent参数、url类型、url平台;
s112:通过白名单url表格和黑名单url表格将url进行划分;所述白名单url表示可正常爬取,所述黑名单url表示不可正常爬取;
s113:分析爬取黑名单中的url的错误输出日志,并进行优化处理,优化处理后的url转化为白名单。
作为本发明的进一步改进,所述步骤s112中,在对url进行划分时,通过分析每个url有效访问量的比例和正确解析入库次数,对并url进行判断,若不符合设定的爬取条件则将该url归类到黑名单,否则归类到白名单。
作为本发明的进一步改进,所述步骤s12中具体包括:
s121:获取白名单表格,根据数据平台业务的爬取需求,进行任务配置;所述任务配置为:设置主线任务配置的调度器和临时任务配置的调度器,其中所述主线任务调度器用于服务例行化的爬取任务需求,临时任务调度器用于服务临时的爬取任务需求;
s122:对主线任务进行配置时,根据数据平台业务的爬取需求以及服务器负载情况,制定定时爬取策略;
对临时任务进行配置时,通过在临时任务调度的配置入口接收需要爬取的url参数。
作为本发明的进一步改进,所述步骤s13中具体通过scrapy应用框架进行网站数据爬取,且该scrapy应用框架中嵌入了程序快速校验测试、数据库存储配置,用于根据配置输出的内容对爬取任务进行监控。
作为本发明的进一步改进,所述步骤s14中还将html内容中的新连接url传递至url数据库中。
本发明还提供了一种网络数据采集装置,其包括
url存储管理模块,用于对url进行存储管理分析;
任务调度模块,用于进行自动化任务调度;
爬取模块,用于生成并行化爬取任务,将抓取的html文件进行保存;
解析模块,用于解析html文档树,提取需要的字段信息;
其中,所述url存储管理模块包括:
url数据库,用于存储每个url的访问量、有效访问量、正确解析入库次数、是否需要useragent参数、url类型、url平台;
划分模块,用于通过白名单url表格和黑名单url表格将url进行划分;所述白名单url表示可正常爬取,所述黑名单url表示不可正常爬取;
分析模块,用于分析爬取黑名单中的url的错误输出日志,并进行优化处理,优化处理后的url转化为白名单。
作为本发明的进一步改进,所述划分模块在对url进行划分时,通过分析每个url有效访问量的比例和正确解析入库次数,对并url进行判断,若不符合设定的爬取条件则将该url归类到黑名单,否则归类到白名单。
作为本发明的进一步改进,所述任务调度模块中包括:
获取模块,用于获取白名单表格,根据数据平台业务的爬取需求,进行任务配置;所述任务配置为:设置主线任务配置的调度器和临时任务配置的调度器,其中所述主线任务调度器用于服务例行化的爬取任务需求,临时任务调度器用于服务临时的爬取任务需求;
任务配置模块,用于对主线任务进行配置时,根据数据平台业务的爬取需求以及服务器负载情况,制定定时爬取策略;对临时任务进行配置时,通过在临时任务调度的配置入口接收需要爬取的url参数。
作为本发明的进一步改进,所述爬取模块通过scrapy应用框架进行网站数据爬取,且该scrapy应用框架中嵌入了程序快速校验测试、数据库存储配置,用于根据配置输出的内容对爬取任务进行监控。
作为本发明的进一步改进,所述解析模块还用于将html内容中的新连接url传递至url数据库中。
相比于现有技术,本发明提供了一种智能自动化的网络数据采集、存储及处理方法及系统,从而实现了对网络信息中有价值数据的采集,并通过离线解析文档提取结构化信息,比现有的网络数据采集装置有更好的采集效率和稳定性。
进一步,将数据采集装置与数据处理装置分离,通过hash进行唯一关系标识,可以快速更新业务数据库。采集的数据信息可通过自动化同步机制更新到业务平台上,对采集的信息进行深度的数据分析和挖掘,为运营人员决策提供数据支撑。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1是本发明的网络数据采集、存储及处理方法的步骤流程图。
图2是步骤的s1的具体步骤流程图。
图3是步骤s11的具体步骤流程图。
图4是步骤s12的具体步骤流程图。
图5是本发明的s2的具体流程图。
图6是本发明的步骤s3的步骤流程图。
图7是本发明的网络数据采集、存储及处理系统连接框图。
图8是本发明的数据采集装置的连接框图。
图9是本发明的url存储管理模块的连接框图。
图10是本发明的任务调度模块的具体连接框图。
图11是本发明的数据存储装置的连接框图。
图12是本发明的数据处理装置的连接框图。
图13是本发明的数据采集存储及处理系统的架构图。
图14是本实施例的数据采集装置的处理流程图。
图15是本实施例的数据存储装置的处理步骤流程图。
图16是本实施例的数据处理装置的流程图。
图17是本实施例游戏、资讯同步上架流程示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
为了解决现有技术网络爬虫爬取网站效率低下的缺陷,本发明提供了一种网络数据采集、存储及处理方法及系统。具体通过以下的实施例进行说明:
本发明的网络数据采集、存储及处理方法及系统,可以应用于各种采用信息数据采集的业务。以下先整体介绍本发明的整体方法流程及逻辑架构。
首先请参阅图1,其为本发明的网络数据采集、存储及处理方法的步骤流程图。本发明提供了一种网络数据采集、存储及处理方法,其包括以下步骤:
s1:对网络数据进行采集。为了实施网络数据采集,具体的请参阅图2,其为本步骤的s1的具体步骤流程图。该步骤s1中具体包括:
s11:对url进行存储管理分析。请同时参阅图3,其为本发明的步骤s11的具体步骤流程图。对于url存储管理,在本步骤s11具体包括以下步骤:
s111:通过url数据库存储每个url的访问量、有效访问量、正确解析入库次数、是否需要useragent参数、url类型、url平台;
s112:通过白名单url表格和黑名单url表格将url进行划分;所述白名单url表示可正常爬取,所述黑名单url表示不可正常爬取。具体的,所述步骤s112中,在对url进行划分时,通过分析每个url有效访问量的比例和正确解析入库次数,对并url进行判断,若不符合设定的爬取条件则将该url归类到黑名单,否则归类到白名单。
s113:分析爬取黑名单中的url的错误输出日志,并进行优化处理,优化处理后的url转化为白名单。
s12:进行自动化任务调度。具体的,请同时参阅图4,其为本步骤s12的具体步骤流程图。所述步骤s12中具体包括:
s121:获取白名单表格,根据数据平台业务的爬取需求,进行任务配置。所述任务配置为:设置主线任务配置的调度器和临时任务配置的调度器,其中所述主线任务调度器用于服务例行化的爬取任务需求,临时任务调度器用于服务临时的爬取任务需求。
s122:对主线任务进行配置时,根据数据平台业务的爬取需求以及服务器负载情况,制定定时爬取策略;对临时任务进行配置时,通过在临时任务调度的配置入口接收需要爬取的url参数。
s13:生成并行化爬取任务,将抓取的html文件进行保存。具体的,所述步骤s13中具体通过scrapy应用框架进行网站数据爬取,且该scrapy应用框架中嵌入了程序快速校验测试、数据库存储配置,用于根据配置输出的内容对爬取任务进行监控。
s14:解析html文档树,提取需要的字段信息。具体的,所述步骤s14中还将html内容中的新连接url传递至url数据库中。
s2:对采集到的数据进行存储。具体的请同时参阅图5,其为本发明的s2的具体流程图。所述步骤s2中具体包括:
s21:对采集到的信息,进行数据清洗。
s22:将清洗完的数据再通过对目标字段进行hash处理,建立映射后写入原始数据库。
s23:取出原始数据库的hash集合a和业务数据库的hash集合b;计算需要新添加的数据集合s1,即为a和b的差集
s24:将集合s1映射的数据插入到业务数据库,将集合s2映射的数据更新到业务数据库。
s25:将业务数据库与线上平台数据库进行对比,更新业务数据库中的扩展信息。
s3:将存储的数据进行处理。具体的请同时参阅图6,其为本发明的步骤s3的步骤流程图。所述步骤s3中具体包括:
s31:进行数据分析,包括对数据可视化展示和进行统计分析。
s32:进行数据挖掘,包括根据业务主题进行数据挖掘。
s33:进行数据同步处理,以更新本地业务数据库。
请参阅图7,其为本发明的网络数据采集、存储及处理系统连接框图。对应的,为了实现本发明的网络数据采集、存储及处理方法,本发明还提供了一种网络数据采集、存储及处理系统,其包括:数据采集装置1、数据存储装置2和数据处理装置3。
所述数据采集装置1,用于对网络数据进行采集。
所述数据存储装置2,用于对采集到的数据进行存储。
所述数据处理装置3,用于将存储的数据进行处理。
请同时参阅图8,其为本发明的数据采集装置的连接框图。所述数据采集装置1包括:url存储管理模块11、任务调度模块12、爬取模块13和解析模块14。
所述url存储管理模块11,用于对url进行存储管理分析。
所述任务调度模块12,用于进行自动化任务调度。
所述爬取模块13,用于生成并行化爬取任务,将抓取的html文件进行保存。
所述解析模块14,用于解析html文档树,提取需要的字段信息。
请同时参阅图9,其为本发明的url存储管理模块的连接框图。其中,所述url存储管理模块包括:url数据库111、划分模块112和分析模块113。
所述url数据库,用于存储每个url的访问量、有效访问量、正确解析入库次数、是否需要useragent参数、url类型、url平台;
所述划分模块,用于通过白名单url表格和黑名单url表格将url进行划分;所述白名单url表示可正常爬取,所述黑名单url表示不可正常爬取;
所述分析模块,用于分析爬取黑名单中的url的错误输出日志,并进行优化处理,优化处理后的url转化为白名单。具体的,所述划分模块在对url进行划分时,通过分析每个url有效访问量的比例和正确解析入库次数,对并url进行判断,若不符合设定的爬取条件则将该url归类到黑名单,否则归类到白名单。
请同时参阅图10,其为本发明的任务调度模块的具体连接框图。进一步,所述任务调度模块中包括:获取模块121和任务配置模块122。
所述获取模块,用于获取白名单表格,根据数据平台业务的爬取需求,进行任务配置;所述任务配置为:设置主线任务配置的调度器和临时任务配置的调度器,其中所述主线任务调度器用于服务例行化的爬取任务需求,临时任务调度器用于服务临时的爬取任务需求。
所述任务配置模块,用于对主线任务进行配置时,根据数据平台业务的爬取需求以及服务器负载情况,制定定时爬取策略;对临时任务进行配置时,通过在临时任务调度的配置入口接收需要爬取的url参数。
进一步,在本发明中所述爬取模块13通过scrapy应用框架进行网站数据爬取,且该scrapy应用框架中嵌入了程序快速校验测试、数据库存储配置,用于根据配置输出的内容对爬取任务进行监控。
进一步,在本发明中所述解析模块还用于将html内容中的新连接url传递至url数据库中。
请同时参阅图11,其为本发明的数据存储装置的连接框图。所述数据存储装置2包括:数据清洗模块21、hash处理模块22、提取模块23、更新模块24和比对模块25。
所述数据清洗模块21,用于对采集到的信息,进行数据清洗。
所述hash处理模块22,用于将将清洗完的数据再通过对目标字段进行hash处理,建立映射后写入原始数据库。
所述提取模块23,用于取出原始数据库的hash集合a和业务数据库的hash集合b,计算需要新添加的数据集合s1,即为a和b的差集
所述更新模块24,用于将集合s1映射的数据插入到业务数据库,将集合s2映射的数据更新到业务数据库。
所述比对模块25,用于将业务数据库与线上平台数据库进行对比,更新业务数据库中的扩展信息。
请同时参阅图12,其为本发明的数据处理装置的连接框图。所述数据处理装置3包括:数据分析模块31、数据挖掘模块32和数据同步处理模块33。
所述数据分析模块31,用于进行数据分析,包括对数据可视化展示和进行统计分析。
所述数据挖掘模块32,用于进行数据挖掘,包括根据业务主题进行数据挖掘。
所述数据同步处理模块33,用于进行数据同步处理,以更新本地业务数据库。
以下结合游戏数据采集业务,具体介绍本发明的网络数据采集、存储及处理方法及系统的应用方式,具体如下:
在游戏数据采集工作中,需要解决的问题主要有三方面,一是实现网络数据的高效采集,及流程科学优化,从而减轻后台设备负荷,提供稳定的目标数据;二是优化设计源数据的存储逻辑,通过游戏信息的唯一化处理,避免游戏唯一性冲突,为后续业务的开发及扩展提供技术保障;三是基于前两个部分的工作基础,进行数据业务的开发,实现数据分析、数据挖掘、业务运营等系统服务,智能自动化地协助产品相关人员开展业务工作。
为了解决该问题,具体可以结合本发明的网络数据采集、存储及处理方法及系统。具体请参阅图13,其为本发明的数据采集存储及处理系统的架构图。本发明中具体包括有三个装置:数据采集装置、数据存储装置和数据处理装置。这里的数据处理装置也即是业务营运装置,且其含数据分析、数据挖掘、业务运营三个功能。
其中,数据采集装置负责定时从网络游戏平台或app上爬取游戏数据,并将网页内容持久化保存在采集服务器中,然后解析网页内容提取游戏信息,如游戏名称、游戏包名、游戏截图、游戏包链接、游戏版本、游戏介绍等信息。为了保证游戏数据的时效性,数据存储模块需要保证信息及时同步更新。通过建立hash来标记唯一的信息源,根据原始数据库中的数据与业务数据库中已有的数据对比结果,将采集到的游戏信息,如游戏名称、游戏包名、游戏截图、游戏包链接、游戏版本、游戏介绍等信息更新并存入业务数据库中。数据业务模块将收集到的游戏相关信息结合运营业务的统计需求进行加工处理、可视化数据报表。为了深入了解用户,提供满足用户需求的内容及产品,本发明针对用户论坛数据及游戏资讯数据进行主题挖掘,并加以可视化,协助运营人员进行用户分析和运营用户。为了实现数据驱动业务,提升数据效益,本发明提供运营业务操作服务,可完成游戏、资讯等数据的一键同步及上架工作,极大的方便运营人员进行业务操作,提高效益。
以下具体分别对这三部分进行介绍:
本实施例的数据采集装置设有采集服务器。所述采集服务器负责爬虫任务的调度,进行数据采集和信息提取。所述数据存储装置设有数据存储服务器,责保存结构化的游戏信息,例如游戏名称、游戏包名、游戏平台、游戏截图、游戏包链接、游戏版本、游戏介绍等。总体的工作方法流程如下:
步骤s1:采集服务器具体通过定时任务唤醒爬虫对互联网数据进行定向采集。
步骤s2:爬虫网页爬取完成后,将html网页信息以文本内容的格式保存在采集服务器磁盘,并以url进行命名。
步骤s3:采集服务器调用解析程序对html文本进行解析,提取游戏名称、游戏包名、游戏平台、游戏截图、游戏包链接、游戏版本、游戏介绍等信息,通过hash处理后将结构化的信息写入储存服务器的原始数据库中。
步骤s4:储存服务器通过对比原始数据库和业务数据库中的hash,获取需要更新或新增的hash集合,从而决定原始数据库的信息是新增或更新到业务数据库。
步骤s5:业务数据库开放给业务逻辑使用,可将采集到的游戏数据同步到业务平台,进行统计分析和数据挖掘。
请同时参阅图14,其为本实施例的数据采集装置的处理流程图,本实施例的数据采集装置共包括4个步骤。
步骤1:url存储管理分析,并实施快速抓取策略。在该步骤中,对待爬取的url进行了抓取策略分析。具体地,设计一个数据库用户存储了每个url访问量、有效url访问量等数据。对于有效访问量比例较低的url,进行了useragent调参校验,以及url路由分析。为防止待爬取的url网站崩溃,对访问量较大的url以及一些特殊敏感的url进行抓取调控,进入休眠模式。
步骤2:智能自动化的任务调度。在该步骤中,根据数据业务平台的爬虫任务需求,制定定时、定向等爬取策略。具体的,本实施例配置了一个任务调度器,分为主线任务调度以及临时任务调度。主线任务调度服务例行化的爬虫任务需求,主要由系统管理员根据业务需求进行配置。临时任务调度可随时服务临时的爬虫任务需求,运营工作人员可根据使用说明书填写参数配置。
步骤3:生成并行化爬取任务。根据步骤2配置好的任务进行并行化爬取,将抓取的html内容保存到爬虫服务器。本实施例充分考虑了框架的拓展性以及实用性,嵌入了程序快速校验测试、数据库存储、以及网站爬取结果校验等有用配置。根据配置输出的日志内容,可及时监控爬取任务,以处理爬取任务的各种突发情况。
步骤4:使用beautifulsoup解析html文档树,提取需要的字段信息,并将结构化数据存储进原始数据库。此步骤还会解析文档中新链接,并把新的链接添加到待抓取url队列中。
在完成数据采集解析后,需要对数据进行存储管理。具体请参阅图15,其为本实施例的数据存储装置的处理步骤流程图,其步骤具体如下:
步骤1:对于采集到的信息,先通过数据清洗,如日期格式统一格式化、补全残缺字段。
步骤2:清洗完的数据再通过对目标字段进行hash处理,建立映射后写入原始数据库,每个hash值映射到一个采集对象的一款游戏中。
步骤3:原始数据库中的信息与游戏数据库信息进行对比,根据hash求得差集和交集。将差集映射的数据新增到最终数据库,将交集映射的数据更新到最终数据库。
步骤4:将游戏数据库与业务平台数据库对比,及时更新必要的扩展信息,如游戏在业务平台是否存在。
请同时参阅图16,其为本实施例的数据处理装置的流程图。本实施例中采集到的数据信息分为三类:游戏排行榜、新闻资讯、游戏数据。为了更好的结合平台业务,及时关注市场动态,保证平台信息的有效性和及时性,需要采集到的数据进行统计、分类等处理,以更直观的可视化方式为运营提供决策指导。
第一、游戏分析:
通过对比各个网站、客户端的热门游戏排行情况,得出今天相比昨天排名上升或者下降的游戏,并以数字的形式表示出来,运营人员根据排名变化及时获取市场热门游戏,然后及时调整自身平台的推荐游戏顺序,使推荐信息更具时效性,更贴合大众用户。
具体包括:
(1)数据报表分析。通过每天采集的游戏数据,依照日期、域名进行聚合,统计出该域名每天新增信息量。通过数据可视化,以图表的方式展示,运营人员可以及时了解市场信息动态走势,从而调整发布策略。
(2)游戏排行榜分析。保存各个游戏榜单的当天排名,然后按照榜单归类,通过比较同一榜单与昨天的排名变化,可以清晰获取热门游戏、飙升游戏等。通过统计分析,查看各款上榜游戏的排名变动情况,各大游戏排行榜单是调整自身平台游戏榜单的参考依据。
第二、主题挖掘:
由于采集到的网络资讯内容繁多,如果让运营人员逐查看会浪费大量的人力物力,效果也不见好。所以本实施例将资讯数据通过jieba分词工具和在线lda主题生成模型生成10个主题,并对每个主题的关键字赋予权重,权重排前的着重显示。运营通过前端便可以整理出资讯热点,为自身平台的资讯提供参考,具体包括:
(1)竞品资讯数据主题挖掘。本模块主要是对用户的反馈信息进行聚类分析。通过jieba分词工具对用户反馈日志进行切割分词,并提取出热门关键词。再利用在线lda主题生成模型,对提取出来的热门关键词划分为10个主题,每个主题保留100个热门关键词。
(2)游戏自动标签数据分析。本模块主要实现了对新上架游戏自动打标签功能。对于一个新游戏,先用jieba分词工具对提取的游戏标题和游戏描述进行切割分词,然后运用tf-idf算法自动提取关键词。tf-idf算法简单介绍如下:
首先引入两个概念:
标准化词频tf和逆文档频率idf;
最后两者相乘即能得到tf-idf:tf-idf=tfxdf。某个词对文章的重要性越高,它的tf-idf值就越大。所以,排在最前面的几个词,可以认为是这篇文章的关键词。
(3)用tf-idf构成的词向量来表示一个游戏,然后采用knn算法,对于每一个需要打标签的无标签游戏计算和有标签的训练样本计算距离,将训练样本中和无标签游戏距离最近的k个游戏选出,k个游戏中占比最大的标签类别确定为无标签游戏的类别。另外,筛选出来的k个游戏还可用于相似游戏推荐。
第三、同步上架:
采集到游戏数据可以通过处理后成为自身平台的数据。具体为:运营通过关键字查找需要上架的游戏,修改游戏名、版本、游戏说明等信息后,通过接口下载游戏截图,同步游戏信息,最终在自身平台展示。整个过程方便快捷,减少了运营编辑图片、游戏说明的工作量,提升了运行效率。
具体请参阅图17,其为本实施例游戏、资讯同步上架流程示意图。本实施例同步上架技术包括两个大方面:数据本地化和数据同步。
其中数据本地化主要是将文本保存在原始数据库、下载图片和游戏包到采集服务器。数据同步通过调用api接口,把相关参数传递给平台业务接口处理,处理结果通过异步接口返回给本地,然后更新本地数据库。根据数据属性分为文本、图片、游戏数据包,三种属性的字段处理如下:
文本:自定义增删改相应字段后可入库,例如游戏名称、发布时间、游戏说明等。
图片:本地系统将采集的图片下载到本地,并按平台规定大小剪裁,然后获取本地图片地址。通过调用接口将本地图片地址发送给业务平台,平台接口收到请求后开始将图片下载到平台服务器,并把图片地址保存到平台数据库中,返回储存后的id。
游戏包:本地调用接口,将游戏包的下载地址发送到平台服务器。服务器接口到请求后开始处理并下载游戏包。由于下载的时间会因为下载速度、数据包大小而产生较大差距,所以本地服务器提供异步回调接口,当游戏下载完毕后,调用回调接口通知本地服务器。
相比于现有技术,本发明提供了一种智能自动化的网络数据采集、存储及处理方法及系统,从而实现了对网络信息中有价值数据的采集,并通过离线解析文档提取结构化信息,比现有的网络数据采集装置有更好的采集效率和稳定性。
进一步,将数据采集装置与数据处理装置分离,通过hash进行唯一关系标识,可以快速更新业务数据库。采集的数据信息可通过自动化同步机制更新到业务平台上,对采集的信息进行深度的数据分析和挖掘,为运营人员决策提供数据支撑。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。