kettle+jsoup解析网页url链接

用途

本文介绍如何使用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
在这里插入图片描述

写日志

此步骤保留为空,则默认输出全部内容:
在这里插入图片描述

输出结果

在这里插入图片描述

发布了230 篇原创文章 · 获赞 29 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/huryer/article/details/104078161