Witam.
Mam problem, a nie mogę nigdzie znaleźć odpowiedzi.
Tworzę aplikację w ramach nauki i chciałbym pobierać na bieżąco przy każdym uruchomieniu aplikacji dane na temat kursu walut, np ze strony http://kursy-walut.mybank.pl/.
Chciałbym, ab do pola tekstowego wstawiały się tylko liczby.
http://lmgtfy.com/?q=c%23+get+text+from+website
jak już pobierzesz treść strony wybierasz z niej to co Cię interesuje z pomocą np. regexa
-
Pobierz HTML przy użyciu klienta HTTP - na przykład WebClient lub HttpClient
-
Użyj Html Agility Pack żeby dostać interesujące Cię elemeny
EDIT:
Widzę, że obecna wersja Html Agility Pack ma zdolność pobrania strony, więc 1. można w zasadzie pominąć.
<table class="tab_kursy">
<tr>
<th>Nazwa waluty</th>
<th>Symbol</th>
<th>Kurs</th>
<th>Zmiana</th>
<th>Zmiana (zł)</th>
</tr><tr>
<td><a href="http://mybank.pl/waluta/usd-dolar-amerykanski.html">Dolar amerykański</a></td>
<td>1 USD</td>
<td>3,5964</td>
<td class="czer">0.11%</td>
<td class="czer">0.0040 zł</td>
</tr>
...
...
dużo walut
...
</table>
Widzisz, tak to wygląda(fragment źródła strony), wszystkie kursy(chyba) są w tej tabelce: Zaczyna się <table class="tab_kursy">
,a kończy </table>
. Poza tym pierwszym tagiem <tr>
:
<tr>
<th>Nazwa waluty</th>
<th>Symbol</th>
<th>Kurs</th>
<th>Zmiana</th>
<th>Zmiana (zł)</th>
</tr>
Wszystkie inne są podobne:
<tr>
<td><a href="http://mybank.pl/waluta/eur-euro.html">Euro</a></td>
<td>1 EUR</td>
<td>4,2313</td>
<td class="czer">0.32%</td>
<td class="czer">0.0136 zł</td>
</tr>
Teraz widać co trzeba zrobic, aby mieć te kursy: Źródło strony wrzucić do stringa, odnaleźć tą tabelę i teraz z każdego jej tagu <tr>
wyłuskać to, co jest w jego trzecim tagu <td>
.
Jakj to zrobić, najlepiej sparsowć to źródło do listy stringów, i operować juz na liście. Przejrzyj string methods w Csharpie.