如何使用Java在Talend中解析数据(来自以前生成的.txt文件)?
我在Talend中有一个过程,它获取页面的搜索结果,保存html并将其写入文件,如下所示:
最初,我有一个两步过程,从Java中的HTML文件中解析出日期。这是代码:它可以工作并将其写入mysql数据库。这是基本上完全做到这一点的代码。(我是初学者,抱歉缺乏优雅)
package org.jsoup.examples;
import java.io.*;
import org.jsoup.*;
import org.jsoup.nodes.*;
import org.jsoup.select.Elements;
import java.io.IOException;
public class parse2 {
static parse2 parseIt2 = new parse2();
String companyName = "Platzhalter";
String jobTitle = "Platzhalter";
String location = "Platzhalter";
String timeAdded = "Platzhalter";
public static void main(String[] args) throws IOException {
parseIt2.getData();
}
//
public void getData() throws IOException {
Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_SOA.txt"), "utf-8");
Elements elements = document.select(".joblisting");
for (Element element : elements) {
// Parse Data into Elements
Elements jobTitleElement = element.select(".job_title span");
Elements companyNameElement = element.select(".company_name span[itemprop=name]");
Elements locationElement = element.select(".locality span[itemprop=addressLocality]");
Elements dateElement = element.select(".job_date_added [datetime]");
// Strip Data from unnecessary tags
String companyName = companyNameElement.text();
String jobTitle = jobTitleElement.text();
String location = locationElement.text();
String timeAdded = dateElement.attr("datetime");
System.out.println("Firma:\t"+ companyName + "\t" + jobTitle + "\t in:\t" + location + " \t Erstellt am \t" + timeAdded );
}
}
}
现在我想在Talend中端到端地完成这个过程,我确信这是有效的。我试过这个(对我来说看起来很阴暗):
基本上,我将所有导入放在“高级设置”中,并将代码放在“基本设置”部分中。这个导入库被认为可以加载jsoup解析库,以及mysql连接(我可能会使用talend工具连接)。
显然,这不起作用。我试图从类和东西中剥离基码,情况更糟。你能帮我如何在这里获得使用Java解析的生成的.txt文件吗?
编辑:这是链接到传说中的工作 http://www.share-online.biz/dl/8M5MD99NR1
编辑2:我将代码更改为我在JavaFlex中尝试过的代码。但它不起作用(导入部分在代码的开始部分,其余的在“body/main”中,在“end”中没有。