Das Robert Koch Institut (RKI) liefert für Deutschland aktuelle Corona-Fall-Zahlen auf dieser Webseite:
https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Fallzahlen.html
in einer schönen Tabelle die wir mit Jsoup abfragen wollen.
Hier nun der kommentierte Beispiel-Code:
package de.wenzlaff.corona; import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; /** * Beispiel Abfrage Coronavirus vom RKI. * * COVID-19: Fallzahlen in Deutschland * * https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Fallzahlen.html * * @author Thomas Wenzlaff */ public class RkiCoronaFallzahlenDeutschland { /** URL des RKI. */ private static final String URL = "https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Fallzahlen.html"; /** * Start der Abfrage. * * @param args keine * @throws IOException bei Lesefehler. */ public static void main(String[] args) throws IOException { Document doc = Jsoup.connect(URL).get(); // hole die ganze Seite aus dem Internet vom RKI Element tabelle = doc.select("table").get(0); // das ist die erste Tabelle auf der Seite Elements zeilen = tabelle.select("tr"); // selektieren aller Zeilen for (Element zeile : zeilen) { // jede Zeile bearbeiten Elements eintrag = zeile.select("td"); // hole die erste Zeile der Tabelle if (!eintrag.isEmpty()) { // die Tabelle hat eine Leerzeile am Anfang, die überspringen wir String bundesland = eintrag.get(0).text(); // das Bundesland holen, das ist der erste Eintrag in der ersten Spalte String fälle = eintrag.get(1).text(); // die Anzahl der Fälle holen, das ist der Eintrag in der zweiten Spalte System.out.println(bundesland + ", " + fälle); // Ausgabe im CSV-Format: Bundesland , Fälle } } } }
Wennn wir das Programm starten, erhalten wir heute diese Ausgabe:
Baden-Württemberg, 116
Bayern, 117
Berlin, 24
Brandenburg, 2
Bremen, 4
Hamburg, 12
Hessen, 16
Mecklenburg-Vorpommern, 5
Niedersachsen, 19
Nordrhein-Westfalen, 346
Rheinland-Pfalz, 10
Saarland, 2
Sachsen, 2
Schleswig Holstein, 8
Thüringen, 1
Gesamt, 684
Und nicht vergessen:
Ähnliche Artikel:
- Java: Parsen von HTML-Dateien mit JSoup 1.9.2 in zwei Java Zeilen
- Java Einzeiler des Tages: Lesen einer Webseite mit jsoup den Open source HTML Parser
- Java Einzeiler: JSONvon URL einlesen mit org.apache.commons.io am Beispiel: Corona – COVID-19