Skocz do zawartości
LolikZabójca

Biblioteka do zczytywania danych z HTML

Rekomendowane odpowiedzi

Jaką polecacie bibliotekę którą otworzę jakąś stronkę internetową i na podstawie XPath zczytam np. cenę produktu na stronie?

Język: C#. Kompatybilność musi być tylko z Windowsem, więc nie musi być zgodna z Mono. 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Dnia 9.12.2019 o 11:23, gnysek napisał:

Podobno fajne jest to: https://html-agility-pack.net/

Działa super tylko pojawił się problem. Potrzebuję sprawdzić atrybut CSS jednego z obiektów DOM. Niestety ta biblioteka tego nie oferuję. Nie chciałbym teraz całego projektu przepisywać na inną. Jest jakaś alternatywa?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
3 godziny temu, LolikZabójca napisał:

Działa super tylko pojawił się problem. Potrzebuję sprawdzić atrybut CSS jednego z obiektów DOM. Niestety ta biblioteka tego nie oferuję. Nie chciałbym teraz całego projektu przepisywać na inną. Jest jakaś alternatywa?


Co rozumiesz przez atrybut css?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Mówiłeś, że chcesz odczytać dokument HTML, a nie parsować i sprawdzać zaaplikowane CSSy. To jest zupełnie inna sprawa, od tego jest cały silnik renderujący w przeglądarce i poza użyciem embedded chromium nic mi więcej nie przychodzi do głowy. Bo sparsowanie samemu i szukanie czy klasa jest do zaaplikowania na danym elemencie to za dużo zabawy przy wszystkich możliwych kombinacjach cssów.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
7 godzin temu, gnysek napisał:

Mówiłeś, że chcesz odczytać dokument HTML, a nie parsować i sprawdzać zaaplikowane CSSy. To jest zupełnie inna sprawa, od tego jest cały silnik renderujący w przeglądarce i poza użyciem embedded chromium nic mi więcej nie przychodzi do głowy. Bo sparsowanie samemu i szukanie czy klasa jest do zaaplikowania na danym elemencie to za dużo zabawy przy wszystkich możliwych kombinacjach cssów.

Jest też chociażby selenium ale wolałbym unikać zaprzęgania całej przeglądarki do tego. Myślałem, ze HTML Agility Pack to ogarnie, że też renderuje wstępnie kod. Swoją drogą pojawił się poważniejszy problem. Jedna ze stron przez przeglądarkę inaczej się wczytuje niż w HTML Agility Pack. Zupełnie inaczej. Jak to załatwić?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie no, HTML to jest meta dokument, coś jak XML, dlaczego miałoby to renderować ? Wiadomo, ze tylko parsuje (o ile kod jest poprawny - niedomknięte tagi też mogą popsuć sprawę).

 

Co do wczytywania inaczej - musisz "udać" przeglądarkę, wysłać w nagłówkach user-agenta jakiejś znanej przeglądarki. Np. google zwraca inną stronę jak tego brakuje, uznając, że wchodzisz z jakiejś archaicznej komórki i ograniczając javascript.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×