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
在这里插入图片描述

写日志

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

输出结果

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值