# Auslesen Daten Java/HTML



## J90 (12. Dez 2016)

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ß


----------



## mariane (12. Dez 2016)

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.


----------



## J90 (12. Dez 2016)

Schonmal danke für die ausführliche Antwort. Muss mich korrigieren, der Code ist anscheinend Javascript.
Die Site: 
http://shark-fx.com/tools/current-ratio/?pair=EURUSD
Ich werde dann wohl bei Zeit die verschiedenen Optionen einmal ausprobieren. 
Wollte lieber erstmal jemand gefragt haben, der mehr Ahnung davon hat.


----------



## mariane (13. Dez 2016)

Ja, in dem Falle werden die Daten per JSON dazugeladen (der Zusatz rand= stellt sicher das Caching nicht zuschlägt und alte Daten kommen, ist ein frei wählbarer Zufallswert:
http://shark-fx.com:1337/api/current-ratios?pair=EURUSD&rand=34566563435


----------



## J90 (13. Dez 2016)

Vielen Dank, das ist natürlich noch besser. Damit hat sich mein Problem erledigt ohne großen Aufwand.


----------



## J90 (12. Dez 2017)

Hallo,

ich habe nochmals eine Frage wie ein Jahr zuvor.
Die ursprüngliche Website antwortet nicht mehr, aber es gibt eine neue Adresse:

https://fxssi.com/tools/current-ratio?filter=EURUSD

Wäre jemand bitte so nett und würde mir verraten, wie ich an diese Daten per Java herankomme.
Falls ja, wie kommt man denn genau an den Link?

Beste Grüße,


----------



## fhoffmann (12. Dez 2017)

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

```
<Cube currency="USD" rate="1.1766"/>
```
und sie mit einem regulären Ausdruck auswerten.


----------



## J90 (13. Dez 2017)

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


----------



## truesoul (13. Dez 2017)

J90 hat gesagt.:


> 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.
> ...



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


----------



## Flown (13. Dez 2017)

Da wirst du, wenn du alles gerendert haben und abfragen möchtest, auf Selenium (oder andere) zurückgreifen müssen.


----------



## mrBrown (13. Dez 2017)

Oder deren (nicht dokumentierte?) API nutzen: https://fxssi.com:8443/api/current-ratios


----------



## J90 (13. Dez 2017)

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..


----------



## truesoul (13. Dez 2017)

J90 hat gesagt.:


> 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..



Siehe Eintrag #11


----------



## J90 (13. Dez 2017)

Danke @mrBrown, darf ich fragen wie man zu diesem Link auf die schnelle kommt. Steht dort was auf der Website oder woher kommt dieser?


----------



## mrBrown (13. Dez 2017)

J90 hat gesagt.:


> Danke @mrBrown, darf ich fragen wie man zu diesem Link auf die schnelle kommt. Steht dort was auf der Website oder woher kommt dieser?


Seite öffnen, nachgeladene Resourcen anzeigen lassen und das passende raussuchen


----------



## J90 (22. Dez 2017)

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


----------

