Piszę program, gdzie między innymi pobieram strony livescore z wynikami sportowymi. Chciałbym je wyświetlać w jakiś inny sposób niż po prostu w przeglądarce, więc myślę nad jakąś tabelką czy czymś podobnym.
Jednak kompletnie nie mam pojęcia jak wyciągnąć z tego najpotrzebniejsze dane czyli: Kraj - liga, drużyny,czas, wynik.
Przykładowa strona : www.livescore.com
Źródło strony: http://pastebin.com/FkiDggdg
Będę wdzięczny co do podpowiedzi jak wyciągnąć odpowiednie dane.
Pozdrawiam.
Odpowiedź już znasz, możesz użyć wyrażeń regularnych. Pokaż, co do tej pory zrobiłeś (nie musi działać), a my pomożemy.
Przy pomocy tego usunąłem wszystkie tagi
const string HTML_TAG_PATTERN = "<.*?>";
static string StripHTML(string inputString)
{
return Regex.Replace
(inputString, HTML_TAG_PATTERN, string.Empty);
}
Jednak pozostało to: http://pastebin.com/SwBBxhBi
Ten początek myślę że można by usunąć, dodając usuwanie wszystkiego pomiędzy strzałkami [-->] tylko czy należy wtedy użyć drugiego "patterna" czy połączyć?
Nie jest to dobra metoda, bo tracisz prawie cały kontekst, punkt zaczepienia dla wyrażenia regularnego. Wrzuć sobie źródło strony do jakiegoś tidy html czy otwórz w firebugu albo jego odpowiedniku dla innych przeglądarek i spójrz sobie co charakteryzuje konkretne elementy (atrybuty na przykład), w których trzymane są informacje i na ich podstawie napisz wyrażenie regularne.
Inne podejście to skorzystanie z parsera html (np. Html Agility Pack) i wyciągnięcie informacji przez XPath.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.