Pobieranie danych ze strony HTML w tabeli

0

Witam,
Chciałem zrobić sobie prosty plan w Swingu który pobierze dane ze strony. Jednak nie znalazłem żadnego odniesienia do pliku XML w kodzie strony więc tu moje pytanie. Jeśli na stronie jest tabela (te wszystkie znaczniki do tabeli) to czy jest możliwość jakiegoś pobrania danych i zinterpretowania ich w Javie? Jeśli tak to czy mógłbym prosić o podpowiedź jak sie do tego zabrać?

Pozdrawiam

0

mozna pobrac tabele i ja wyswietlic np. na label rozpoczynajac od <html>

1

http://jsoup.org/ <- wyciąga dane z html, więc to jest chyba to czego szukasz.

0

Dzięki, ten Jsoup bardzo przydatny :) Ale mam pewien problem. Fragment html-a wyglada tak:

<td rowspan="" class="termin">2015-10-01</td>
<td rowspan="" class="dzien">Cz 11:20 - 13:00</td>
<td>Architektura systemów komputerowych</td>
<td>wykład</td> 

Udaje mi sie dobrac do tych rzeczy z klasa ale jak dobrac sie do czegoś bez klasy?


					Elements termin = row.select("td.termin");
					Elements dzien = row.select("td.dzien");
					Elements przedmiot = row.select("td");					

					System.out.println(termin.text() + " " + dzien.text());
					System.out.println(przedmiot.text());

1

@andrzejugdziejestes
Niestety z tej biblioteki korzystałem kilka razy tylko, musiałbyś poszukać. Jedno z rowiązań to dostęp do elementu po indexie (jeżeli oczywiście za każdym razem szukana wartość znajduje się na tym samym miejscu).

W Twoim przypadku coś takiego:

przedmiot.get(3).getText()
0

Poradziłem sobie z tym, że wyczytałem wszystkie rzeczy które są w znacznikach i wrzuciłem je do tablicy. Na szczęście powtarzaja się w tych samych odstępach wiec całkiem wygodnie mi się tego używa. Dzięki za pomoc :)

EDIT: Dla zainteresowanych jest też jedna podobna opcja w Jsoup, która pozwala wczytać znaczniki bez klasy.

 Elements tds = row.select("td:not([class])");

http://jsoup.org/cookbook/extracting-data/selector-syntax

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