Metodo non applicabile Errore utilizzando JSOUP in codice Java personalizzato
Domanda
Sto avendo problemi usando JSOUP in un componente tJavaRow
in Talend.
Ecco il mio lavoro:
Attraverso tLibraryLoad
Carico i file .jar
per JSOUP e la libreria Java.Io.File e quindi importarli nel componente tJavaRow_2
:
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;
.
e quindi provare a eseguire il seguente codice nella parte principale 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;};
.
sembra logico per me finora. Ma ottengo questo errore:
Puoi aiutarmi a risolvere questo problema?Non capisco cosa fare da questo punto in poi.
Appendice : codice Java che funziona in 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());
}
}
. Soluzione
Manca una staffa di chiusura nel blocco del tuo codice.La tua prima riga dovrebbe essere:
Document document = Jsoup.parse(new File("C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt"), "utf-8");
.
Come lo è, stai costruendo un file dal percorso "C:/Talend/workspace/WEBCRAWLER/output/keywords_" + context.keywordname +".txt"), "utf-8"
e quindi passa quell'oggetto file (non sarà un oggetto file appropriato ma per qualche motivo il compilatore non ha individuato questo) al metodo Parsedi jsoup.
Guardando Documentazione di jsoup L'unica chiamata del metodo per analizzare che è un singoloIl valore è quando si passa un documento HTML in una stringa ad esso.Quindi si aspetta una stringa e invece riceve un file (rotto).
Il secondo errore è quello che lo punta davvero dicendo che ti manca una staffa di chiusura per la variabileItilizzazione.