文档章节

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

吴亮弟
 吴亮弟
发布于 2017/02/17 09:09
字数 902
阅读 51
收藏 0

作者:吴亮弟
链接:https://zhuanlan.zhihu.com/p/25265399
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

定义:

数据源:这里的数据源并非数据库的数据源,而是我们采集对象分布的源,这里特指可以获取到有用数据的网站/网页。
URL:需要采集的网页URL列表,URL可能由采集任务启动前指定,也有可能由采集过程中动态添加。

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

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

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

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

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

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

1.数据源分类管理

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

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

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

数据源的可视化配置,每个采集页面需要设置采集规则,设置过滤器,匹配URL,以及一些关联关系,所以前端使用一个类似流程图的工具实现了可视化的编辑工具(前端使用jsplumb open source edition)。见图:
数据源管理
数据源目标页面的采集规则设置,采集规则的设置将支持脚本和可视化的操作,用户只需要选择需要采集的内容,系统自动确定对应的css选择器和jsonpath选择器,反过来技术人员也可以自己输入选择器去调试匹配内容。

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

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

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

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

整体流程

© 著作权归作者所有

吴亮弟
粉丝 0
博文 4
码字总数 3865
作品 0
技术主管
私信 提问
2016阿里安全峰会重点资料下载

2016阿里安全峰会重点资料下载 风声与暗算,无中又生有:威胁情报应用的那些事儿 内容整理:https://yq.aliyun.com/articles/57700 PDF下载: · Webshell安全分析实践谈-陈中祥 · 安全威胁...

zting科技
2017/01/11
0
0
威胁猎人获600万元Pre-A+轮融资,以情报能力驱动业务安全

雷锋网(公众号:雷锋网)9月17日消息,威胁猎人宣布获真格基金资本的600万元PreA+轮融资。新一轮资金主要用于技术人才的建设和产品研发。 互联网的高速发展带来了场景爆炸,企业对业务安全的...

又田
2018/09/17
0
0
商机 大数据/政务云采购清单 招标7起,最高招标价为2089.41万(9.2-9.5)

     文 | 36大数据 奥兰多   一、政府、企事业单位大数据/政务云中标成交清单,一共8起,最高成交价为1388.89万          二、政府、企事业单位大数据/政务云招标清单 一共7起,...

36大数据
2017/09/06
0
0
阿里云爬虫风险管理产品商业化,为云端流量保驾护航

爬虫风险管理产品是阿里云云盾推出的新安全产品,1月底正式宣布商业化上线,提供可以覆盖Web/H5/API/APP多种业务形态的爬虫风险解决方案,对爬虫风险进行有序管理。 恶意爬虫引发高风险 随着...

zhaowei121
02/21
3
0
中国网络安全细分领域矩阵图(Matrix 2018.11)发布

以《中国网络安全企业50强》和《网络安全行业全景图》为基础,安全牛深入细分领域和行业用户,于今年5月着手撰写网络安全细分领域的报告,经过半年时间的调研工作,于今日首次推出《中国网络...

安全牛
2018/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0
PHP+Ajax微信手机端九宫格抽奖实例

PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现。支持可以设置中奖概率等。 奖品列表 <div class="lottery_list clearfix" id="lottery"> ......

ymkjs1990
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部