前嗅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");

相關文章
相關標籤/搜索