Question

J'ai des problèmes pour utiliser Jsoup dans un tJavaRow composant dans Talend.

Voici mon travail :

Job Layout

À travers tLibraryLoad je charge le .jar fichiers pour Jsoup et la bibliothèque java.io.File, puis importez-les dans le tJavaRow_2 composant:

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;

Et puis essayez d'exécuter le code suivant dans la partie principale du 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;};

Cela me semble logique jusqu'à présent.Mais j'obtiens cette erreur :

Talend Error

Pouvez-vous m'aider à résoudre ce problème ?Je ne comprends pas quoi faire à partir de ce moment.

ANNEXE:Code Java qui fonctionne dans 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()); 
    }
}
Était-ce utile?

La solution

Il vous manque une parenthèse fermante dans votre bloc de code.Votre première ligne devrait être :

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

Dans l'état actuel des choses, vous créez un fichier à partir du chemin "C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt"), "utf-8" puis transmettez simplement cet objet fichier (ce ne sera pas un objet fichier approprié mais pour une raison quelconque, le compilateur ne l'a pas repéré) à la méthode d'analyse de Jsoup.

Regarder Documentation de Jsoup le seul appel de méthode pour analyser une valeur unique est lorsque vous lui transmettez un document HTML dans une chaîne.Il attend donc une chaîne et obtient à la place un fichier (cassé).

La deuxième erreur est celle qui le souligne vraiment en disant qu'il vous manque un crochet fermant pour VariableInitializer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top