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