mam proces w Talend który dostaje wynik wyszukiwarkę strony, oszczędza html i zapisuje je do plików, jak widać tutaj:Jak analizować dane w Talend z Java (pochodzące z wcześniej utworzonego pliku .txt)?
Początkowo miałem dwustopniowy proces z parsowania się z data z plików HTML w języku Java. Oto kod: Działa i zapisuje go w bazie danych mysql. Oto kod, który w zasadzie dokładnie to robi. (Jestem początkujący, przepraszam za brak elegancji)
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);
}
}
}
Teraz chcę zrobić koniec-koniec procesu w Talend i mam pewność, to działa. Próbowałem ten (który wygląda całkiem zacienionych do mnie):
Zasadniczo umieścić wszystkie importu w „Zaawansowane ustawienia”, a kod w sekcji „Ustawienia podstawowe”. Uważa się, że ta biblioteka importu ładuje bibliotekę parsowania biblioteki jsoup, a także mysql connect (mogę jednak połączyć się z narzędziami talend).
Oczywiście to nie działa. Próbowałem usunąć kod podstawowy z klas i innych rzeczy, a było jeszcze gorzej. Czy możesz mi pomóc, w jaki sposób uzyskać tutaj wygenerowane pliki .txt analizowane w Javie?
EDIT: Tutaj jest link do Talend Hioba http://www.share-online.biz/dl/8M5MD99NR1
EDIT2: Zmieniłem kod do jednego próbowałem w JavaFlex. Ale to nie zadziałało (część importowana w początkowej części kodu, reszta w "body/main" i nic na "końcu".)
Sprawdź tJAvaflex zamiast tjavarow, to pomoże –
można pokazać swoje błędy, a proszę, jeśli można hostować zip? Twojej pracy i wszystkich jej zależności, które sprawiłyby, że debugowanie byłoby jeszcze łatwiejsze. Prawdopodobnie byłbym skłonny wyrwać ten kod DB i użyć odpowiedniego złącza Talend DB zamiast. – ydaetskcoR
Nie ma problemu z elegancją, ale następnym razem naciśnij Ctrl + Alt + F whil e na zaćmieniu, aby sformatować kod :). – alkis