aplikacja pobierająca dane ze strony www

0

Witajcie,

chciałbym napisać aplikację umożliwiającą obstawianie meczów piłkarskich. Aplikacja ta byłaby instalowana na komputerach Użytkowników. Po jej uruchomieniu miałaby wyświetlać informacje na temat dostępnych meczów do wytypowania. Dalsza część nie jest ważna.
Najbardziej zastanawia mnie to jak zrobić, aby mój program mógł automatycznie pobierać informacje o rozgrywanych w danym dniu meczach z wybranej przeze mnie strony?

Macie jakieś sugestie, pomysły?

Z góry dzięki

0
  1. Wybierz stronę z której chcesz czerpać dane
  2. Pobierasz źródło strony:
WebClient wc= new WebClient();
string str = wc.DownloadString("http://onet.pl");
  1. Napisz swój parser
  2. Wyświetl użytkownikowi odpowiednie informacje.

Pozdrawiam.

0

No właśnie tak zrobiłem. Wczytałem sobie kod źródłowy strony do stringa i teraz nie wiem jak się zabrać za tworzenie takiego parsera. Ma ktoś moze jakąś radę? Jakiś tutorial gdzie pokazane byłoby jak sparsować plik html?

0

No masz kod strony i oczy więc wiesz że strona podaje informacje np w formacie:
wisła - legia 1.5 5 2.1 1.1 1.8
Więc wystarczy wyłuskać nazwy klubów, kursy i gotowe

0
piwowarczyk85 napisał(a)

No właśnie tak zrobiłem. Wczytałem sobie kod źródłowy strony do stringa i teraz nie wiem jak się zabrać za tworzenie takiego parsera. Ma ktoś moze jakąś radę? Jakiś tutorial gdzie pokazane byłoby jak sparsować plik html?

Ja chętnie Ci pomogę bo nie dawno sam się nauczyłem. Załóżmy, że str to pobrane przez Ciebie źródło strony.

str = str.Substring(str.IndexOf("Wisła") + 5, 3);

Mam nadzieję, że nieco orientujesz się w metodach, które użyłem. Jeżeli masz jeszcze jakiś problem pisz - chętnie pomogę.

0

Na parser masz kilka metod:

  1. Zwykłe operacje oferowane przez klasę string
  2. wyrażenia regularne
  3. potraktuj źródło strony jako XML i użyj np LINQ2XML
0

@ozi88 add.3 o ile generowana strona jest wlasciwym dokumentem xml, bo html != xml (czy tez nie musi, w html nie ma m.in. obowiazku domykania tagow)

0

Dzięki za takie zainteresowanie tematem.
Jako, że chciałbym aby moja aplikacja pobierała dane dynamicznie to chyba trzeba użyć wyrażeń regularnych. Tylko że z tym u mnie jest bardzo blado.
Pobrałem sobie kod strony do stringa. Lekko ten string obciąłem - to co niepotrzebne. Została mi ta część kodu która jest dla mnie istotna. I teraz następująca sprawa. Mam powtarzające się wyrażenia w których znajdują się nazwy drużyn - są następujące:

Renova

teraz chcę pobrać z tego wyrażenia napis: Renova znajdujący się pomiędzy klamrami: >Renova<
W tym wyrażeniu zmienne są tylko liczby, czyli season, round i match - reszta jest bez zmian.
Czy byłby ktoś w stanie zbudować mi takie wyrażenie regularne które obsługiwało by to pobieranie?

Z góry wielka DZIĘKÓWA

0

season=(?<season>\d*)/round=(?<round>\d*)/match=(?<match>\d*).title="(?<title>.)">(?<Renova>.*)<

0

Wielkie dzięki ale nie za bardzo to rozumiem

jak mam użyć tego wyrażenia???

0
massther napisał(a)

@ozi88 add.3 o ile generowana strona jest wlasciwym dokumentem xml, bo html != xml (czy tez nie musi, w html nie ma m.in. obowiazku domykania tagow)

Znając życie dane będą w jakiejś tabelce więc tam raczej nie przewiduję braku zamkniętych tagów, zresztą przed tworzeniem parsera może zobaczyć na źródło strony i zdecydować co do wybranej metody.

1 użytkowników online, w tym zalogowanych: 0, gości: 1