Pregunta

Tengo problemas al usar Jsoup en un tJavaRow componente en Talend.

Aquí está mi trabajo:

Job Layout

A través de tLibraryLoad cargo el .jar archivos para Jsoup y la biblioteca java.io.File y luego importarlos al tJavaRow_2 componente:

import java.io.File;
import java.io.File;
import org.jsoup.Jsoup;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import org.jsoup.select.Elements;

Y luego intente ejecutar el siguiente código en la parte principal del tJavaRow_2:

Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt", "utf-8");
Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt", "utf-8");
        Elements el = document.select(".gutter10");
        Elements el = document.select(".gutter10");
        String result = el.text();
        String result = el.text();


        if(result.length() > 20)
        if(result.length() > 20)
            {context.lastpage = true;};

Me parece lógico hasta ahora.Pero me sale este error:

Talend Error

¿Puedes ayudarme a resolver este problema?No entiendo qué hacer a partir de este momento.

APÉNDICE:Código Java que funciona en Eclipse:

import java.io.File;
import java.io.File;
//import java.util.regex.*;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class regextest  {

    public static boolean regExChecker() throws IOException 
    {
        boolean x = false;
        Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/absolventa_testquery.txt"), "utf-8");
        Elements el = document.select(".gutter10");
        String result = el.text();

        if(result.length() > 20)
            {x = true;};

        //System.out.println(x);
        return x;
    }

    public static void main(String[] args) throws IOException{
        System.out.println(regExChecker()); 
    }
}
¿Fue útil?

Solución

Te estás perdiendo un soporte de cierre en su bloque de código.Su primera línea debe ser:

Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt"), "utf-8");

Como es, está construyendo un archivo desde la ruta "C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt"), "utf-8" y luego pase ese objeto de archivo (no será un objeto de archivo adecuado, pero por alguna razón, el compilador no ha visto esto) al método de análisis.de jsoups.

Mirando a Documentación de JSOUP La única llamada de método para analizar eso es una solaEl valor es cuando pasa un documento HTML en una cadena.Por lo que está esperando una cadena y en su lugar obtiene un archivo (roto).

El segundo error es el que realmente señala esto diciendo que le falta un soporte de cierre para el VariableInitializer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top