# Angezeigten Text einer Website erfragen



## Vogi (30. Sep 2010)

Hallo,

ich möchte einen kleinen Währungsrechner schreiben und dazu die Währungskurse aus dem Internet lesen.

Nun habe ich folgende Seite:

: Devisen - Währungen - Wechselkurse | wallstreetnline

Auf dieser stehen die Kurse, allerdings stehen sie nicht im Quelltext. Nun wollte ich fregen, wie ich mit Java den Text einer Website erfragen kann, der im Browser angezeigt wird.

Mein bisheriger Code : 


```
URL url = new URL("http://www.wallstreet-online.de/devisen/");
            String html = new Scanner(url.openStream()).useDelimiter("//html//").next();
```


----------



## eRaaaa (30. Sep 2010)

Warum sprichst du nicht lieber einen WebService an? Das ist dann auch erlaubt und gibt passende API`s


----------



## Vogi (30. Sep 2010)

wie meinst du das mit einem webservice? und unabhängig davon,würde mich interessieren, ob es eine Möglcihkeit gibt den tatsächlich angezeigten Text zu erfragen, wobei man das rechtliche natürlich nicht vergessen darf.


----------



## eRaaaa (30. Sep 2010)

Vogi hat gesagt.:


> wie meinst du das mit einem webservice?


Ich meinte du könntest z.B. die yahoo API benutzen, die liefert dir den Kurs als csv Datei:
Infos z.B. hier:
Brusdeylins  Yahoo! Finance API
Ein Aufruf wäre dann z.B.
http://download.finance.yahoo.com/d/quotes.csv?s=EURUSD=X&f=a
liefert den Kurs von Euro nach US Dollar--> 1.3622

oder aber auch 
daenet CurrencyServer - Kostenfrei
oder
Currency Converter
oder eine WSDL von
Search with keywords: "currency" @ seekda.com

Damit wärst du auf jeden Fall auf der sicheren Seite und nicht nur rechtlich. Wenn bei deiner HP jmd. am Aufbau etwas ändern sollte, bekommst du leicht Probleme :>



> und unabhängig davon,würde mich interessieren, ob es eine Möglcihkeit gibt den tatsächlich angezeigten Text zu erfragen, wobei man das rechtliche natürlich nicht vergessen darf.



Naja, ich verstehe nicht so ganz was du meinst mit "sie stehen nicht im Quelltext" ?!
Also den Kurs von Euro in USD wäre mit deinem Code oben so etwa swie:

```
URL url = new URL("http://www.wallstreet-online.de/devisen/");
		Scanner sc = new Scanner(url.openStream());
		sc.findWithinHorizon("EUR/USD", 0);
		String line = sc.nextLine();
		int first = line.indexOf(">");
		System.out.println(line.substring(first+1, line.indexOf("<", first)));
```

geht natürlich auch etwas eleganter vllt =)


----------



## Vogi (30. Sep 2010)

ok, das sieht vielversprechend aus, danke.


----------

