Parsowanie html

0

Mam stronę internetową. Chcę ją sparsować i coś z niej wyciągnąć. Na stronie mam tabelę.

Jak wchodzę inspektorem spod firefoxa to widzę normalnie jakiś kod tabeli z wnętrznościami(jakieś tbody itp.), ale jak dam pokaż źródło strony to mam tylko:<div id="table-matches"></div>i nic w środku. Nie do końca rozumiem jak to działa. Mogę jakoś się dobrać z Jsoup-a do takiej strony? Link: https://www.oddsportal.com/matches/soccer/20190920/.

1

Javascript generuje tabelę dlatego nie ma jej w "oryginalnym" HTML.

Wysyłany jest request na serwer, który zwraca HTML, który następnie jest wstrzykiwany w DOM.

Jeżeli wejdziesz w konsole developera, to zerknij co zwracają te requesty do:

https://fb.oddsportal.com/ajax-next-games/1/0/1/20190920/yjaca.dat?_=*********

0

Możesz spróbować scrapingu za pomocą Selenium

0

Prawdę mówiąc nie wiem jak z konsoli developera sprawdzić takiego requesta. Nigdy wcześniej nie tykałem tych narzędzi. Nie rozumiem też, skąd dokładnie wziąłeś nazwę tego skryptu, bo nigdzie jej w HTML-u nie widzę.

Ale jeżeli dobrze zrozumiałem działa to tak: pierwszy strzał do serwera zwraca HTML z Javascriptem, a potem przeglądarka tego javascripta wykonuje i idzie drugie zapytanie do serwera dociągające resztę. Czy ten adres, który podałeś, jest jakimś skryptem na serwerze generującym dane do tabeli(drugie zapytanie do serwera)?

Jeśli tak to czy istnieje biblioteka Javo-wa, która zamiast robić pojedyncze zapytanie wykona mi jednocześnie wszystkie Javascripty z danej strony i zwróci "finalnego" HTML-a, którego już JSoupem będę mógł obrobić? Jakiś HtmlUnit znalazłem. Od tej strony to podejdę?

Edit: Spróbowałem tego HtmlUnita i mi rzuca jakimiś błędami z SSL. Serio? Nie ma jakiejś prostej biblioteki z metodą ognia, która zwracałaby ostatecznego HTML-a?

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