连接脚本是连接抽取中的脚本。配置了连接脚本,连接的抽取流程将被改变:
1.若是脚本未正确返回dom区域节点,则该连接抽取的规则将彻底由该脚本控制。
2.若是脚本返回了一个正确的dom区域节点,则此连接抽取以返回的区域节点为基准,区域外的连接将被过滤掉。数据库
一.可用全局对象(只读)dom
EXTRACT: 当前采集引擎[ 对象类型: extractor ]
DATADB: 当前链接的数据库[ 对象类型: dataBase ]
RESULT: 当前结果集对象[ 对象类型: result ]
URL: 当前采集的连接对象[ 对象类型: url ]
URLTEXT : 描述当前连接采集的全部状态及属性的对象[ 对象类型: urltext ]
DOC: 当前采集的文档对象[ 对象类型: grabDoc ]
DOM: 当前采集文档的dom对象[ 对象类型: dom ]
ITEM: 模板区域的dom树节点(若是模板未选择区域则为dom树的根节点)[ 对象类型: domItem ]
TMPL: 当前文档模板对象[ 对象类型: tmplTmpl ]this
二.this对象url
当前连接抽取[tmplLink]对象。code
三.脚本返回值orm
若是要采集某个特征区域内的连接,则必须返回该区域的dom节点( domItem对象)。 不然该连接抽取则彻底由脚本控制。
示例
采集第一个Form表单中的连接:对象
return DOM.FindName("form");
在连接模板须要的连接没法用爬虫过滤获得,就要写连接脚本。下面是每一个连接脚本必有的代码:文档
url u; u.title = ""; u.urlname = ""; u.tmplid = 3; u.entryid = CHANN.id; RESULT.AddLink(u);