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.
Wyrażenia regularne-strony html
- Rejestracja: dni
- Ostatnio: dni
- Postów: 42
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 42
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ć?
- Rejestracja: dni
- Ostatnio: dni
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.