如何使用Java解析Talend中的数据(来自以前生成的.txt文件)?

Zed*_*gan 39 java parsing talend jsoup

我在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 );
        }  
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想在Talend中进行端到端的处理,我确信这是有效的.我试过这个(对我来说看起来很阴暗): 在此输入图像描述

基本上我将所有导入放在"高级设置"中,并将代码放在"基本设置"部分中.这个importLibrary被认为加载了jsoup解析库,以及mysql连接(我可能会使用talend工具连接).

显然这不起作用.我试图从类和东西中删除基本代码,它甚至更糟.你能帮我解决一下如何用Java解析生成的.txt文件吗?

编辑:这是链接到talend工作http://www.share-online.biz/dl/8M5MD99NR1

EDIT2:我将代码更改为我在JavaFlex中尝试的代码.但它不起作用(代码开始部分的导入部分,"body/main"中的其余部分,"end"中没有任何内容.

小智 1

这是与 Talend 相关的问题,在您的代码中,使用完整的方法名称(包括其包)。例如,对于文档解析,您可以使用:

Document document =  org.jsoup.Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_SOA.txt"), "utf-8");
Run Code Online (Sandbox Code Playgroud)