用途
本文介紹如何使用kettle,遍歷web頁面中的url鏈接,並輸出到文本文檔。
技術
kettle
javascript
jsoup-1.11.3.jar
轉換文件步驟
生成記錄
此步驟用於設置需要訪問的web地址,以sina爲例:
JavaScript代碼
源碼如下:
var Jsoup = org.jsoup.Jsoup;
var Document = org.jsoup.nodes.Document;
var Element = org.jsoup.nodes.Element;
var Elements = org.jsoup.select.Elements;
function parseLinks(){
writeToLog("開始解析");
var doc = Jsoup.connect(url).get();
var els = doc.select("div ul li");
writeToLog("行數:"+els.size());
for (var i=0;i<els.size();i++) {
var r = els.get(i);
//輸出行處理
var newRow = createRowCopy(getOutputRowMeta().size());
var rowIndex = getInputRowMeta().size();
// 獲取文件鏈接地址
var link=r.select("a").attr("href");
var title=r.select("a").text();
newRow[rowIndex++]=i + "\t"+title + "\t" + link;
//輸出行
putRow(newRow);
}
}
writeToLog("解析完成");
parseLinks();
過濾記錄
過濾輸出的內容,需要包含http協議:
文本文件輸出
將結果輸出到腳本的當前目錄:
輸出字段爲:newRow
寫日誌
此步驟保留爲空,則默認輸出全部內容: