Guten Morgen zusammen,
habe folgendes Problem bzw. Probleme.
Ich möchte die Suchergebnisse, welche über mehere Seiten gehen, aus einer Homepage einlesen und die Daten an der Stelle, wo ich es benötige mit einem ";" trennen. Dies soll dann als Textdatei gespeichert werden, damit ich später in Excel einlesen kann.
Habe den FileWriter an verschieden Stellen im Code ausprobiert, immer nur leere Datei erhalten.
Der Aufbau der Seiten ist so, immer 10 Einträge auf einer Seite:
Anrede
Titel Name
Arbeitsstätte
Abteilung
Sonderabteilung
Straße
PLZ Ort
Anfahrt mit Bus und Bahn
Anfahrt mit dem Auto
Das Einlesen mit der Jsoup Bibliothek funktioniert auch auf Anhieb, aber nur mit einer einzelnen Seite. Es sind aber insgesamt in diesem Fall 532 Seiten
Der Link sieht so aus:
https://www.domain.de/xxx/yyyyy/zzzzz.asp?nav=&page=1&ihresuche=
Es ändert sich nur der Wert hinter page= (Dieser fängt bei 1 an und Endet bei 532)
Und leider werden auch die Zeilen Anfahrt mit Bus und Bahn Anfahrt mit dem Auto eingelesen und ausgegeben. Wie kann ich es vermeiden, dass diese eingelesen werden oder schaffe ich es, dass die beiden Zeilen durch ein ";" ersetzt werden bei der Ausgabe?
Alle Probleme im Überblick:
Die Suchergebnisseiten von 1 -532 automatisiert einlesen? (Einzeln klappt ja)
An der Stelle, wo ich will ";" einsetzen als Trennzeichen?
Zeilen mit Anfahrt nicht einlesen oder als ";" ausgeben?
In Textdatei speichern?
Vielen Dank im Voraus, Code ist unten
Das ist der Code: Hab den FileWriter wieder entfernt, weil es nicht klappte
habe folgendes Problem bzw. Probleme.
Ich möchte die Suchergebnisse, welche über mehere Seiten gehen, aus einer Homepage einlesen und die Daten an der Stelle, wo ich es benötige mit einem ";" trennen. Dies soll dann als Textdatei gespeichert werden, damit ich später in Excel einlesen kann.
Habe den FileWriter an verschieden Stellen im Code ausprobiert, immer nur leere Datei erhalten.
Der Aufbau der Seiten ist so, immer 10 Einträge auf einer Seite:
Anrede
Titel Name
Arbeitsstätte
Abteilung
Sonderabteilung
Straße
PLZ Ort
Anfahrt mit Bus und Bahn
Anfahrt mit dem Auto
Das Einlesen mit der Jsoup Bibliothek funktioniert auch auf Anhieb, aber nur mit einer einzelnen Seite. Es sind aber insgesamt in diesem Fall 532 Seiten
Der Link sieht so aus:
https://www.domain.de/xxx/yyyyy/zzzzz.asp?nav=&page=1&ihresuche=
Es ändert sich nur der Wert hinter page= (Dieser fängt bei 1 an und Endet bei 532)
Und leider werden auch die Zeilen Anfahrt mit Bus und Bahn Anfahrt mit dem Auto eingelesen und ausgegeben. Wie kann ich es vermeiden, dass diese eingelesen werden oder schaffe ich es, dass die beiden Zeilen durch ein ";" ersetzt werden bei der Ausgabe?
Alle Probleme im Überblick:
Die Suchergebnisseiten von 1 -532 automatisiert einlesen? (Einzeln klappt ja)
An der Stelle, wo ich will ";" einsetzen als Trennzeichen?
Zeilen mit Anfahrt nicht einlesen oder als ";" ausgeben?
In Textdatei speichern?
Vielen Dank im Voraus, Code ist unten
Das ist der Code: Hab den FileWriter wieder entfernt, weil es nicht klappte
Java:
import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class DatenBankZusammenStellung {
public static void main(String[] args) {
try {
// Seite laden
Document doc = Jsoup.connect("https://xxxxxx/yyyyy/zzzzzz/treffer.asp?nav=&page=1&ihresuche=").get();
// Alle Listenelemente über den entsprechenden Selektor markieren
// Ein Leerzeichen initiert ein Kindelement des Elternelementes (links)
// div#hauptseite-ergeignisse => Der DIV mit der ID hauptseite-ereignisse (# => id)
// div.inhalt => Der DIV mit der Klasse inhalt (. => class)
Elements ereignisse = doc.select("#col1 table:nth-child(4) font");
// Selektierte Elemente ausgeben ohne HTML-Tags
for (Element e : ereignisse) {
System.out.println(e.text());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Zuletzt bearbeitet: