互联网情报系统实践-04:数据源定义和管理

互联网情报系统实践-04:数据源定义和管理

定义:

数据源:这里的数据源并非数据库的数据源,而是我们采集对象分布的源,这里特指可以获取到有用数据的网站/网页。

URL:需要采集的网页URL列表,URL可能由采集任务启动前指定,也有可能由采集过程中动态添加。

采集规则:由于目前还未实现通过机器学习建立的模型自动采集,所以还需要配置采集规则,采集规则这个系统中设计为支持:css selector选择器,jsonpath选择器针对web页面以及json数据的采集配置。

遵循分治原则,我们不会在情报收集的业务系统上去定义目标不明确的数据源,比如全网采集,整个网站采集,而是会细分到网站的子栏目,特定集合的目标网页,如此约定之后,一个数据源的采集页面一般会被分为两种类型:“列表页面”和“详情页面”。

列表页面通常为一个栏目/分类或则查询结果的页面,通常包含一些字段,比如文章标题,摘要,日期,缩略图等等,最主要是列表页面包含了采集详情页面的URL,也会包含其他分页的列表页面的URL。

详情页面通常包含更多采集单位对象的字段。

复杂一点的情况,列表页面采集到的数据和详情页面的数据有关联,甚至详情页面还有下一级页面或者分页,这些都是在设计配置采集规则模块的时候需要考虑的。

针对以上情况,我设计了一个简单的数据源管理的模块,实现以下功能:

1.数据源分类管理

2.数据源的增删改查,数据源的可视化配置

3.数据源目标页面的采集规则设置

数据源的分类管理,相对比较简单,数据源可以设置分类,以及标签,这样管理人员可以根据分类或者标签筛选,提高工作效率。

数据源的可视化配置,每个采集页面需要设置采集规则,设置过滤器,匹配URL,以及一些关联关系,所以前端使用一个类似流程图的工具实现了可视化的编辑工具(前端使用jsplumb open source edition)。见图:

数据源目标页面的采集规则设置,采集规则的设置将支持脚本和可视化的操作,用户只需要选择需要采集的内容,系统自动确定对应的css选择器和jsonpath选择器,反过来技术人员也可以自己输入选择器去调试匹配内容。

下图是HTML页面的规则编辑:

下图是JSON数据的采集规则设置:

对于一个页面的采集规则设置,还需要设置url的匹配规则,这个使用正则匹配实现即可。

以上便是数据源相关的内容,这是整个采集的开始部分,结合整个采集流程,这里用一张流程图做个演示,大家也大致能知道后需要系统开发的需求:

编辑于 2017-02-16