Auslesen Daten Java/HTML

J90

Aktives Mitglied
Hallo,
ich habe bisher - um bestimmte Daten von Websiten zu laden - via URL die Site als String in Java gedownloadet und meine benötigten Daten ausgelesen.
Nun habe ich das Problem, dass es Websiten gibt, die zwar auch Grafiken (z.b. Histogramme) darstellen, bei denen die zugehörigen Werte als Daten allerdings nicht im Sourcecode/Stringwert vorhanden sind.
Jetzt wollte ich fragen, ob es eine Möglichkeit trotzdem an diese Werte heranzukommen?
Entschuldigung im voraus, falls ich die Frage hier an falscher Stelle stelle, aber mit HTML habe ich mich bisher nicht beschäftigt..
Gruß
 
Bei den meisten wird hier momentan die Glaskugel defekt sein, oder anders gesagt: welche Seite möchtest du parsen?
Grundsätzlich ist es so, wenn die Daten irgendwie auf deinen Rechner kommen, wird es auch irgendwie gehen, selbst Grafiken könnte man per OCR in Text umwandeln (habe ich allerdings noch nie unter Java gemacht, geht aber).
Die Frage ist eigentlich, wie bzw. wo wird die Seite zusammengebaut? Wenn das serverseitig passiert, dann gehts abgesehen vom angesprochende OCR oder Nutzung einer API nicht.
Wenn es im Browser gerendert wird, dann musst du schauen wo die Datenbasis herkommt, das könnte z.B. per Json/Ajax passieren, etwa bei AngularJS-Seiten, da gibt es nette Browserplugins, zumindest sich den Scope anzusehen.
Natürlich gibt es auch noch andere Möglichkeiten, z.B. die schon erwähnte API, wie sie etwa Google, Ebay, Facebook ... usw. bereitstellen, ist halt die Frage ob es eine solche API auch bei deiner auszulesenen Webseite gibt. Oder YQL von Yahoo, wobei das hier eher weniger gehen wird. Im Zweifel halt beim Webmaster nachfragen.
 
Hallo,

ich würde dir empfehlen, eine Seite zu wählen, die für das automatische Auslesen von Wechselkursen vorgesehen ist.
Die Europäische Zentralbank bietet so etwas an:

https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

Die Datei kannst du mit eine XML-Parser auslesen oder einfach nach folgender Zeile suchen
Code:
<Cube currency="USD" rate="1.1766"/>
und sie mit einem regulären Ausdruck auswerten.
 
Morgen,

danke, ich möchte allerdings speziell die Werte von dieser Seite auslesen, d.h. die Prozentstände der jeweiligen Broker zu den Währungen, d.h. einfach ein URL Aufruf, der diese Werte von der Seite so wiedergibt, damit ich sie mit Java auslesen kann.
Allgemeine Wechselkurse habe ich schon.

Beste Grüße
 
Morgen,

danke, ich möchte allerdings speziell die Werte von dieser Seite auslesen, d.h. die Prozentstände der jeweiligen Broker zu den Währungen, d.h. einfach ein URL Aufruf, der diese Werte von der Seite so wiedergibt, damit ich sie mit Java auslesen kann.
Allgemeine Wechselkurse habe ich schon.

Beste Grüße

Hallo.

Also, wenn du einfach das Entwickler-Tool eines Browser (F12) öffnest und dort mal schaust was an Daten zum Beispiel unter Network (Chrome) kommt, kannst du vielleicht was nützliches finden. Ich vermute mal den Quelltext zum Beispiel auszulesen wird nicht funktionieren, da alles dynamisch rein geladen wird.

Grüße
 
Da wirst du, wenn du alles gerendert haben und abfragen möchtest, auf Selenium (oder andere) zurückgreifen müssen.
 
Ok danke für die schnellen Antworten. Werde mir bei Zeit mal Selenium anschauen.
Falls es doch eine schnelle Lösung gibt, sind Antworten natürlich gerne erwünscht..
 
Morgen,
da ich das mit den nachgeladenen Resourcen anzeigen lasse nicht begriffen habe, ein neues Problem:

http://de.global-rates.com/zinssatze/libor/amerikanischer-dollar/2007.aspx

In der Mitte der Seite lassen sich verschiedenen Laufzeiten auswählen und ich möchte zu den jeweiligen Laufzeiten die gesamte Historie auslesen für meine SQL Datenbank. Allerdings finde ich keinen direkten URL Link zu jeder Laufzeit,
sondern kann dies nur manuell über die ComboBox auswählen..

Bevor ich herumprobiere und Zeit verschwende wollte ich die kompetenteren Leute fragen, ob es eine Möglichkeit gibt an diese Daten automatisch heranzukommen?

Beste Grüße
 

Zurück
Oben