一种企业外部数据采集与分析系统
文献发布时间:2023-06-19 11:22:42
技术领域
本发明属于信息管理技术领域,尤其涉及一种企业外部数据采集与分析系统。
背景技术
在信息技术飞速发展的今天,互联网的迅速普及已使其成为各种信息快速传播的重要载体,数据的收集、整合与分析已经成为企业发展必不可少的助力。当前企业数据分析大多还局限在内部数据,分析的范围与基础受限,只有将内外部数据整合分析才能给经营决策带来更大的价值。对于企业而言,为了保障企业的生产经营工作平稳持续开展,维护企业公众形象和口碑,及时应对可能出现的紧急事态,需要密切关注网络舆情;为了获取客户信息,洞察客户需求,发现和把握销售机会,需要及时获取行业资讯;为了保证企业经营合法合规,规避风险,需要监测最新的政策法规、时事动态等等。
传统上,对外部数据较为关注和敏感的企业往往通过以下方式获取所需的外部数据:
1.长期安排专人以人工方式关注外部资讯,人工监测效率低下,耗时耗力,覆盖片面;
2.从数据提供商购买数据或租用数据接口,传统技术方案所使用的第三方数据服务由于提供的数据及其格式由服务提供者确定,用户仅能针对所获得的数据进行解析,其配置的灵活性有限,如原始数据源的某个字段已被服务提供商丢弃,则用户无法再对其进行解析;
3.传统技术方案使用的第三方数据服务通常只提供固定的数据源,且其数据采集策略往往由服务提供者确定,难以依用户需求而调整;
4.传统技术方案能处理的信息量非常有限,而且难以跟踪数据的动态变化;
5.从数据提供商购买数据或租用数据接口,企业无法掌握数据来源及采集规则,不能保证数据完全满足企业需求,也难以随需求的变化自主进行灵活调整,数据来源、更新频次、数据格式均受限于提供商,难以根据企业需求灵活调整。
发明内容
本发明的目的就在于为了解决上述问题而提供一种企业外部数据采集与分析系统,包括:
用户界面,用于用户与系统间交互,包括设置系统参数、控制抓取操作、展示和分析结果、导出结果;
抓取模块,用于从数据源按照配置参数抓取原始数据,并将抓取到的原始数据发送至解析模块处理;
解析模块,用于为不同的数据源配置不同的解析方式,从抓取到的原始数据中解析出目标信息,获得结构化数据,以可序列化的类的实例进行表达,同时存储原始数据与配置参数;
分析模块,用于将当前解析结果与历史解析结果进行比对,生成第一结果列表与第二结果列表,以可序列化的类的实例进行表达,对第一结果列表与第二结果列表过滤,将过滤的结果去重后存储在过滤列表;系统在收到第一结果列表、第二结果列表与过滤结果条目请求时,调用浏览器打开其对应的原始数据来源网页;
存储模块,用于:
系统状态的自动存储:系统状态包括抓取模块、解析模块、分析模块的状态,将系统状态表示为类的实例,并将该实例序列化后通过状态文件存储到文件系统;系统启动时,检测该状态文件是否存在,如状态文件不存在,系统以默认配置启动;如状态文件存在,系统读取状态文件并进行反序列化,恢复上次退出时的系统状态;
分析结果的导出:在用户请求导出第一结果列表、第二结果列表与二次过滤结果条目时,调用应用程序接口导出文件;
抓取模块、解析模块、分析模块依次相连;存储模块分别与抓取模块、解析模块、分析模块相连;用户界面与抓取模块、分析模块相连。
具体的,所述抓取模块配置数据源抓取的数据量上限用于控制抓取数据的时长。
具体的,所述目标信息包括标题信息、正文信息、链接信息、时间信息。
具体的,所述目标信息通过可序列化的类的实例进行表达,包括结果的ID、标题、内容、链接、时间、来源、搜索词。
具体的,所述过滤为用户基于关键词与分隔符过滤。
本发明的有益效果在于:
1.本发明能够针对用户所需的数据源个性化配置采集方式、采集范围、采集深度等,信息的提取可依用户所需调整所取的字段、排列、结构等,具有更好的灵活性、全面性,同时具备较高的采集速度和数据时效性;
2.不依赖传统技术方案中所使用的第三方数据服务,解决了传统技术方案中所使用的第三方数据服务通常只提供固定的数据源,且其数据采集策略往往由服务提供者确定,难以依用户需求而调整的问题;
3.本发明能够针对不同数据源配置不同的解析方式,从不同的数据格式中提取出所需的有效信息,完成非结构化数据到结构化数据的转换,便于后续的分析利用;
4.相较于长期安排专人以人工方式关注外部资讯的方式,本发明通过自动化的采集和高效的分析技术,解决了人工监测耗时耗力、覆盖片面、能处理的信息量非常有限,而且难以跟踪数据的动态变化等问题;
5.本发明提供的分析手段更加丰富,通过新旧比对和二次过滤两个维度的分析手段,能够将历史解析结果中未曾出现过的新结果单独展示,大幅节约用户寻找新信息的时间,有利于对最新动态的关注。
附图说明
图1是本发明的系统图;
图2是本发明的原理图。
具体实施方式
下面结合附图对本发明作进一步说明:
如附图1所示,本发明一种企业外部数据采集与分析系统,包括:
用户界面,用于用户与系统间交互,包括设置系统参数、控制抓取操作、展示和分析结果、导出结果;
抓取模块,用于从数据源按照配置参数抓取原始数据,并将抓取到的原始数据发送至解析模块处理,此为一次过滤;
解析模块,用于为不同的数据源配置不同的解析方式,通过分析数据源的网页结构,定位目标信息所处的标签或属性,构建对应的XPath表达式,对目标信息进行选取,如果XPath表达式无法精确定位目标信息,例如目标信息与其他信息处于类似的位置,或目标信息处于XPath节点的内部结构中(如节点文本中还包含内部结构),则结合正则表达式对目标信息进行匹配。
解析模块从抓取到的原始数据中解析出目标信息,目标信息包括内容的标题、正文、时间、相关链接等,通过XPath表达式、正则表达式等对其进行匹配和提取;获得结构化数据,以可序列化的类的实例进行表达,同时存储原始数据与配置参数;
分析模块,用于将当前解析结果与历史解析结果进行比对,生成第一结果列表与第二结果列表,第一列表为本次抓取解析后获取的结果;第二列表:将本次抓取解析后获取的结果与历史获取结果进行比对,通过比对来源网页地址、关键字段(如时间)确认哪些结果为本次新获取的,将新获取的结果列为第二结果列表;
分析模块将结果以可序列化的类的实例进行表达,对第一结果列表与第二结果列表过滤,此为二次过滤,将过滤的结果去重后存储在过滤列表;系统在收到第一结果列表、第二结果列表与过滤结果条目请求时,调用浏览器打开其对应的原始数据来源网页;
存储模块,用于:
系统状态的自动存储:系统状态包括抓取模块、解析模块、分析模块的状态,将系统状态表示为类的实例,并将该实例序列化后通过状态文件存储到文件系统;系统启动时,检测该状态文件是否存在,如状态文件不存在,系统以默认配置启动;如状态文件存在,系统读取状态文件并进行反序列化,恢复上次退出时的系统状态;
将系统状态表示为可序列化的类是指将系统状态或其他想存储下来的信息表示为可序列化的类(Class),在程序运行时会产生该类的实例(Instance)。由于是可序列化的,后续处理中可以将其存储为文件,相应的,能够通过反序列化读取文件并转换为实例。序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。通过从存储区中读取或反序列化对象的状态,重新创建该对象;
分析结果的导出:在用户请求导出第一结果列表、第二结果列表与二次过滤结果条目时,调用应用程序接口导出文件。
抓取模块、解析模块、分析模块依次相连;存储模块分别与抓取模块、解析模块、分析模块相连;用户界面与抓取模块、分析模块相连。
具体的,所述抓取模块配置数据源抓取的数据量上限用于控制抓取数据的时长。
具体的,所述目标信息包括标题信息、正文信息、链接信息、时间信息。
具体的,所述目标信息通过可序列化的类的实例进行表达,包括结果的ID、标题、内容、链接、时间、来源、搜索词。
具体的,所述过滤为用户基于关键词与分隔符过滤。
如附图2所示,本发明的原理过程为:
用户界面负责接收用户输入的参数,并将其传送给抓取模块;在设置抓取模块时通过设置诸如抓取范围(如网站页数)、关键词等参数,进行一次过滤;
抓取模块按照参数要求从外部数据源采集数据,并将采集到的数据送解析模块处理,解析模块将解析后的结果送分析模块进行比对并传回用户界面显示。通过用户界面调用分析模块对结果进行进一步的分析,用户界面还包括导出结果、清除结果、恢复默认设置、控制抓取动作、获取帮助等交互元素。抓取模块配置数据源,数据源来自数据汇总平台、搜索工具、专业站点等。抓取模块配置在某个数据源抓取的数据量上限,以控制抓取耗时在一定限度内。如数据本身带有搜索功能,则进一步配置搜索关键词。抓取配置参数以可序列化的类的实例进行表达。
解析模块为不同的数据源配置不同的解析方式,从抓取到的原始数据中解析出诸如标题、正文、链接、时间等所需信息。解析结果以可序列化的类的实例进行表达,除解析出的信息外,同时存储该数据的数据源、抓取时使用的关键词等信息。
分析模块将当前解析结果与历史解析结果进行比对,从而生成本次结果和新结果两个列表,以可序列化的类的实例进行表达,同时各个结果列表均具备过滤器,对结果列表进行基于关键词的二次过滤,二次过滤的关键词支持以空格、逗号、点号、冒号、制表符等进行分隔,过滤器将遍历结果列表中的标题字段,将过滤出的结果去重后在二次过滤列表中进行展示。两个结果列表及其对应的二次过滤列表中的结果条目在被选择时,系统将调用用户默认浏览器打开其对应的原始数据来源网页。
存储模块实现两个方面的存储功能:1.系统状态的自动存储;该动作在系统退出时自动触发,系统将当前抓取模块、解析模块、分析模块的状态汇总为系统状态,表示为可序列化的类的实例,并将该实例序列化后存储到文件系统。在系统启动时,检测该状态文件是否存在,如状态文件不存在,系统以默认配置启动;如状态文件存在,系统将读取该文件并进行反序列化,恢复上次退出时的系统状态;2.分析结果的导出:该动作在用户选择将结果列表导出时触发,通过调用Excel的应用程序接口,将结果列表导出为Excel文件。
本发明能够针对用户所需的数据源个性化配置采集方式、采集范围、采集深度等,不依赖传统技术方案中所使用的第三方数据服务,具有更好的灵活性、全面性,同时具备较高的采集速度和数据时效性;解决了传统技术方案中所使用的第三方数据服务通常只提供固定的数据源,且其数据采集策略往往由服务提供者确定,难以依用户需求而调整的问题;
本发明能够针对不同数据源配置不同的解析方式,从不同的数据格式中提取出所需的有效信息,完成非结构化数据到结构化数据的转换,便于后续的分析利用;信息的提取可依用户所需调整所取的字段、排列、结构等;解决了传统技术方案所使用的第三方数据服务由于提供的数据及其格式由服务提供者确定,用户仅能针对所获得的数据进行解析,其配置的灵活性有限,如原始数据源的某个字段已被服务提供商丢弃,则用户无法再对其进行解析。
本发明提供了新旧比对和二次过滤两个维度的分析手段;传统技术方案的分析手段往往依赖于所使用的第三方数据服务,第三方数据服务有时不提供分析功能,或仅提供基于关键词的搜索、过滤,而本方案加入了新旧比对,可将历史解析结果中未曾出现过的新结果单独展示,大幅节约用户寻找新信息的时间,有利于对最新动态的关注。
相较于长期安排专人以人工方式关注外部资讯的方式,本发明通过自动化的采集和高效的分析技术,解决了人工监测耗时耗力、覆盖片面、能处理的信息量非常有限,而且难以跟踪数据的动态变化等问题;相较于从数据提供商购买数据或租用数据接口的方式,本发明所能采集的数据源不受第三方限制,且采集策略更加灵活;本发明的解析方式不受第三方限制,更为灵活,所能解析出的信息更加全面;本发明提供的分析手段更加丰富,通过新旧比对提高数据分析的效率。
本发明的技术方案不限于上述具体实施例的限制,凡是根据本发明的技术方案做出的技术变形,均落入本发明的保护范围之内。
- 一种企业外部数据采集与分析系统
- 一种企业数据采集与分析系统