当前位置:文档之家› DataScraper_UserManual

DataScraper_UserManual

DataScraper_UserManual
DataScraper_UserManual

DataScraper用户手册

DataScraper是什么

DataScraper是信息提取工具包GooSeeker中的一个工具,是Web页面信息抓取工具,利用MetaStudio生成的指令文件,对指定页面的信息进行连续抓取,并将信息存储在DataStore服务器上。

DataScraper同普通的网络爬虫不同,怎样爬行网络、提取什么信息、怎样存储结果等是在指令文件指导下进行的。

指令文件分成两类:

●工作流指令文件:指导DataScraper怎样爬行网络,例如,是否持续爬行、是否提

取信息等。当前此类文件需要手工编写,下文详细讲解。

●信息提取指令文件:指导DataScraper怎样提取信息和线索等。此类文件由

MetaStudio生成,在《MetaStudio简明操作手册》中讲解。

DataScraper界面介绍

整个界面分成四个区:

●菜单条:位于顶端。

●主题列表区:位于左上栏,用于浏览或者查询主题。

●浏览器窗口区:位于右上栏,用于显示当前正在提取的页面。

●信息输出区:位于下栏,用于显示信息提取中遇到的问题。

DataScraper基本操作方法

提取Web页面信息的基本步骤是:

1.使用MetaStudio定义目标页面的信息提取规则,生成指令文件。在《MetaStudio

简明操作手册》中说明。

2.编写工作流指令文件。在下一章讲解。

3.浏览和查询主题。

在主题列表区点鼠标右键菜单“List”可以列出所有主题,也可以在列表下方的输入窗口中输入要查询的主题名(支持通配符*),回车后查询匹配的主题。

4.对选定的主题进行信息提取。

在主题列表区点鼠标右键菜单“Crawl”,填写需要连续爬行的线索数量,提交后,系统将开始网络爬行和信息提取。

注意:请预先估计一下爬行一个线索需要的时间,然后输入合适的连续爬行线索数。经测试观察,DataScraper可能有轻微的内存泄露,如果处理器性能较差,经过24小时

运行,内存泄露能够被察觉;如果处理器性能较高,例如双核酷睿,内存泄露不易察觉。

内存泄露原因暂时无法确定,关闭DataScraper和Firefox浏览器后内存释放。

建议:持续网络爬行不要超过24小时。

DataScraper工作原理

DataScraper的核心是个工作流引擎,顺序调度工作流指令文件中定义的处理器。系统还提供一个全局的上下文容器,供处理器交换数据或者获得控制指令。

每个处理器的框架是一样的,对外接口有:

●从上下文容器获得其他处理器或者系统产生的数据。

●向上下文容器输出数据供其他处理器使用。

●从上下文容器中获得系统和其他处理器发出的控制指令,例如,是否停止整个工作

流、是否跳过本处理器等等。一个最重要的控制指令是令牌,令牌决定了工作流中处理器的调度。每个处理器被调度时要检查令牌,判断自己应该怎样运行,在向下一处理器传递令牌时可以修改令牌的内容。

如果需要开发DataScraper工作流处理器,请参照《GooSeeker技术手册》和《DataScraper程序员手册》。

DataScraper工作流处理器介绍

本版本可以使用的工作流处理器有下述几个:

名称使用说明

MigrateWorksBucket如果在一个主题的信息提取过程中产生inthread线索,该处理器能够将上一次线索爬行

期间产生的上下文信息转移到后续的inthread线索爬行期,使工作流能够循环运行。主

要用于被提取的信息用多个页显示,DataScraper需要翻页。

FetchSpiderClue首先尝试从上下文容器中获取inthread线索,如果没有获得,将从DataStore服务器上

获取状态是start的新线索。

LoadHtmlPage加载线索指向的Web页面

FindDataSchema_Plain利用MetaStudio生成的页面筛选指令文件(DSD文件)检验目标页面是否可提取。如果不是,当前线索的状态将改成unknownschema。

ExtractWebNodeData_Simp利用MetaStudio生成的信息提取文件(MAP文件)从目标页面上提取信息,并将提取到

的信息转换成XML文件,存储在上下文容器中。

ExtractWebNodeData_Trans在ExtractWebNodeData_Simp的基础上,利用MetaStudio生成的信息转换文件(GEM文

件)进一步转换信息格式,以适合数据库存储。如果被提取的信息属性具有block特性,

只能使用ExtractWebNodeData_Simp处理器,因为提取到的信息不适合存储在二维表格

中。

ValidateExtraction利用MetaStudio生成的页面筛选指令文件(DSD文件)检验提取到的信息是否正确,如果不

是,当前线索的状态将改成unknownschema。

SaveFile_Simp将信息提取结果文件从上下文容器中取出来发送到DataStore服务器上

ExtractSpiderClue_Simp利用MetaStudio生成的线索提取文件(SCE文件)从目标页面上提取线索并发送到

DataStore服务器上。如果提取的线索的主题拥有新主题名,则到MetaCamp服务器上申

请使用该名。

ConfirmSpiderClue_Simp在DataStore服务器上,将当前线索的状态改成extracted。

CleanWorksBucket清理上下文容器,如果当前线索提取到了inthread线索,本处理器将妥善保存该信息,

以便启动inthread循环。

DataScraper工作流指令文件实例

工作流指令文件存储在Tomcat的work目录下,位置是:

${CATALINA_HOME}/work/DataStore/context/spider/config/[主题名]/

手工制作工作流文件时,需要手工创建以主题名命名的子目录,用于存放指令文件。指令文件名必须具有如下格式

[主题名].profile.xml

指令文件是个XML文件,内容如下:

主题名

com.geometa.spider.processor.MigrateWorksBucket

com.geometa.spider.processor.FetchSpiderClue

com.geometa.spider.processor.LoadHtmlPage

com.geometa.spider.processor.FindDataSchema_Plain

com.geometa.spider.processor.ExtractWebNodeData_Simp

com.geometa.spider.processor.ValidateExtraction

com.geometa.spider.processor.SaveFile_Simp

com.geometa.spider.processor.ExtractSpiderClue_Simp

com.geometa.spider.processor.ConfirmSpiderClue_Simp

com.geometa.spider.processor.CleanWorksBucket

上面是一个完整的指令文件,这个指令文件说明要进行下面的活动:

●支持inthread循环,在信息提取时能够进行翻页操作

●从目标页面上提取信息

●从目标页面上提取线索

有些主题不必进行所有的活动,如下面的例子所示:

例1:仅在当前页面提取线索(没有i n t h read循环)

ComYellowPage_ali

com.geometa.spider.processor.FetchSpiderClue

com.geometa.spider.processor.LoadHtmlPage

com.geometa.spider.processor.FindDataSchema_Plain

com.geometa.spider.processor.ExtractSpiderClue_Simp

com.geometa.spider.processor.ConfirmSpiderClue

例2:仅提取信息(有i n t h read循环)

ComPage_ali

com.geometa.spider.processor.MigrateWorksBucket

com.geometa.spider.processor.FetchSpiderClue

com.geometa.spider.processor.LoadHtmlPage

com.geometa.spider.processor.FindDataSchema_Plain

com.geometa.spider.processor.ExtractWebNodeData_Simp

com.geometa.spider.processor.ValidateExtraction

com.geometa.spider.processor.SaveFile_Simp

com.geometa.spider.processor.ConfirmSpiderClue_Simp

com.geometa.spider.processor.CleanWorksBucket

DataScraper结果文件

结果文件是以XML格式存放的,以方便对结果的处理,例如,使用XSLT程序将结果文件转换成HTML文件等。

结果文件存储在Tomcat的work目录下,位置是:

${CATALINA_HOME}/work/DataStore/works/uploadfiles/config/[主题名]/

文件名字采用下面的格式:

[主题名]_[线索id]_[时间]

下面是结果文件的结构说明:

线索ID

目标页面的URL

主题名

<整理箱名字>

<信息属性1>信息属性1的值

<信息属性n>信息属性n的值

<信息属性1>信息属性1的值

<信息属性n>信息属性n的值

......

相关主题
文本预览
相关文档 最新文档