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