软件数据魔方通用适配器组件设计V10.docx
《软件数据魔方通用适配器组件设计V10.docx》由会员分享,可在线阅读,更多相关《软件数据魔方通用适配器组件设计V10.docx(11页珍藏版)》请在冰点文库上搜索。
软件数据魔方通用适配器组件设计V10
密级:
机密—JM
数据魔方
项目编号:
xxxxxxxx
通用适配器组件设计
目录
1、系统组件概述4
1.1.组件逻辑功能架构4
1.2.组件与需求覆盖关系5
2、组件设计5
2.1.数据同步组件5
2.1.1.功能描述5
3.1.1.目标网站的分析(场景分析,关键因素分析)9
3.1.2.解决方法(详细介绍)10
3.1.3.如何自动发现关键信息,模糊进行内容提取10
3.1.4.类图11
3.1.5.交互图12
3.1.6.程序逻辑及算法描述13
3.1.7.数据库设计14
3.1.8.对外接口14
3.1.9.测试考虑14
4、附录14
4.1.附录A代码举例14
4.2.附件列表14
修订记录
日期
版本号
修订说明
修订人
审核人
2016-11-6
V0.1
新增
XXXX
XXXX
2016-11-27
V0.2
修改
XXXX
XXXX
1、系统组件概述
做一个通用的2层网页内容采集模块:
1、输入一个url,自动的提取网页的文章url
(通过识别时间与标题或者顺序,实现增量采集)
博客列表,新闻分栏
2、通过文章url,自动采集一篇文章(文章如果翻页的话,就要识别获取)
1.1.组件逻辑功能架构
1.2.组件与需求覆盖关系
略
2、组件设计
2.1.数据同步组件
2.1.1.功能描述
任务配置原型图axure:
图5.1.3-1抓取目标网站流程图
关于抓取目标网站:
获取过滤好的目标网站主页面的源码。
图5.1.3-2对目标网站进行解析流程图
关于对目标网站进行解析:
获取所需的内容。
关于文件保存数据:
将整个网站解析后的内容保存在同一个文件下。
3.1.1.目标网站的分析(场景分析,关键因素分析)
目标什么-遇到什么问题-应对之道
1、适用的网站范围(内容,适合于新闻类,公告)
2、网页结构
3、结构对应的可解析的方法(a标签,对象id,还是根据文字)
3.1.2.解决方法(详细介绍)
1、内容结构(上面是导航,从body开始就内容,footer)
2、带有广告,小窗,评论
3、内容会翻页
4、内容里面有外链的
展示模式:
1、博客型(倒序排,会有分类,会有列表+简要)
2、网站新闻型(分栏、分类,更多,标题+时间)
3.1.3.如何自动发现关键信息,模糊进行内容提取
1、策略:
根据已经设定好的网页结构模式进行内容识别,符合就按照既定的结构提取内容
2、识别内容的连贯性,猜测出标题与广告(去噪,导航,广告,页面标签,b,div,a,span)
2个解析器,把原理想清楚
A.通过人工识别DOM的结构,从网页上输入所要提取内容(时间,作者,内容等)的DOM路径,从而提取出相应的内容。
B.先判断出(可包含)文字最多的标签,并认为该标签为内容的标签,以这个标签为参照物,用正则表达式猜测出标题、时间、作者等所在的标签,从而提取出相应的内容。
3.1.4.类图
图5.1.1-1抓取目标网站相关类图
图5.1.1-2对目标网站进行解析相关类图
3.1.5.交互图
图5.1.2-1抓取目标网页序列图
s
图5.1.2-2对目标网站进行解析序列图
3.1.6.程序逻辑及算法描述
关于抓取目标网站:
抓取时,会有专门的过滤器链对获取到的内容进行过滤。
过滤器是可扩展的,这里采用责任链模式。
关于对目标网页进行解析:
解析时,有两种方法:
1、传统方法:
在页面上输入要抓取的文本对应的DOM路径,解析器会根据这些DOM路径对内容进行抓取。
2、智能方法:
在页面上只输入url和请求参数,解析器会根据从内容开始判断,一般认为(可包含)文字最多的标签为文章内容的标签,根据内容为参照物,并用正则表达式猜测出作者、时间、标题等所在的具体标签,并对改内容进行抓取。
关于文件保存数据:
保存时,将一个网站的数据保存在同一个文本下(使用json格式)。
3.1.7.数据库设计
备注:
适配器附件表,记录所有上传过的附件自身的详细信息,如文件大小、名称、存放路径等。
3.1.8.对外接口
3.1.9.测试考虑
暂无
4、附录
4.1.附录A代码举例
暂无
4.2.附件列表