Wie lese ich Daten von einer Website aus, so dass ich sie in ein Java-Programm als String bekomme?
Ich möchte mir ein kleines Programm zusammenbasteln - allerdings fehlt mir das Wissen über diese Api, die man dafür benötigt. Die Position des Texts ist immer gleich - wo fange ich am besten an?
3 Antworten
Nimm eine Bibliothek wie jsoup. Die kann für dich das HTML der jeweiligen Seite holen und sie gibt dir Methoden in die Hand, mit denen du das Dokument leicht parsen kannst.
Sollten die Inhalte auf der Seite allerdings mit JavaScript dynamisch geladen werden, wäre ein Automatisierungstool wie Selenium die bessere Wahl.
Wenn die Position wirklich immer gleich ist kannst du einfach den Index verwenden und ab dort schneiden (bspw. mit var[15:], wie das in Java geht weiß ich nicht).
Java hat einen HTTP Client in der Standardbibliothek: https://www.baeldung.com/java-9-http-client
Wenn es etwas komplizierter ist würde man erst einen Regex versuchen und dann einen HTML Parser der bspw. Klassennamen effizienter erkennen kann wobei das hier nicht nötig sein wird.
Das hat ja nichts mit eine API zu tun. Den Quelltext laden und wenn der Text immer an der selbn Stelle steht, dann brauchst du ja nur ab der Start-Position x Zeichen aus dem Quelltext kopieren.
Den Quelltext laden und wenn der Text immer an der selbn Stelle steht, dann brauchst du ja nur ab der Start-Position x Zeichen aus dem Quelltext kopieren.
Das ist eine API. Der Begriff wird dafür zwar nicht so häufig verwendet aber er ist richtig. Genau wie System API oder Browser API
https://stackoverflow.com/questions/3678665/is-there-still-a-difference-between-a-library-and-an-api
Aber wie rufe ich die Website in Java überhaupt auf?