前嗅ForeSpider脚本教程:数据抽取脚本

数据抽取脚本与数据过滤并列的脚本,它的做用是对抽取的数据进行过滤。数据处理脚本是数据抽取中的脚本。点击“数据抽取”节点,在“数据脚本”的下拉菜单必须选择“数据抽取脚本”。配置了数据处理脚本,数据的抽取流程将被改变:数据库

1.若是脚本未正确返回dom区域节点,则该数据抽取的规则将彻底由该脚本控制。dom

2.若是脚本返回了一个正确的dom区域节点,则此数据抽取以返回的区域节点为基准,区域外的数据则优先当作垃圾信息处理。this

注意:一旦有了数据抽取脚本则数据过滤脚本将失效,即“数据脚本”的下拉菜单必须选择“数据抽取脚本”。url

一.可用全局对象(只读)orm

EXTRACT: 当前采集引擎[ 对象类型: extractor ]对象

DATADB: 当前链接的数据库[ 对象类型: dataBase ]文档

RESULT: 当前结果集对象[ 对象类型: result ]it

URL: 当前采集的连接对象[ 对象类型: url ]form

URLTEXT : 描述当前连接采集的全部状态及属性的对象[ 对象类型:urltext ]模板

DOC: 当前采集的文档对象[ 对象类型: grabDoc ]

DOM: 当前采集文档的dom对象[ 对象类型: dom ]

ITEM: 模板区域的dom树节点(若是模板未选择区域则为dom树的根节点)[ 对象类型: domItem ]

TMPL: 当前文档模板对象[ 对象类型: tmplTmpl ]

REC: 当前记录集对象[ 对象类型: record ]

二.this对象

当前数据抽取[tmplData]对象

三.脚本返回值

若是欲采集某个特征区域内的数据,则必须返回该区域的dom节点对象( domItem对象); 不然该数据抽取则彻底由脚本控制。

示例

在数据模板表单各字段的区域特征定位没法取值时,就要写数据抽取脚本。

1.数据抽取脚本基本的样式

record infoTable; //一个新的取值记录

infoTable.(字段名)infoTable.hkkey = MD5(URL.urlname);

infoTable.title = title;

infoTable.goods_id = itemId;

infoTable.platform = "";

RESULT.AddRec(infoTable, TMPL.fstdoc.schemaid); //输出

2.采集第一个Form表单中的数据

return DOM.FindName("form");

相关文章
相关标签/搜索