Вы ошиблись в селекторе: он выбирает td
потомков элемента table
с классом tr
, в то время как вы, вероятно, хотите td
ячеек в tr
строках в table
.Я полагаю, что вы можете получить их, просто используя "td"
в качестве селектора.
Тем не менее, это слишком обобщенно, поскольку в нем будут выбраны все ячейки таблицы.Если необходимая ячейка всегда является третьей ячейкой в строках этой таблицы, вы можете уточнить селектор, чтобы выбрать только такие: "td:eq(2)"
.Вы действительно должны разбираться в селекторах JSoup и немного поэкспериментировать, чтобы увидеть, насколько вы можете ограничить данные, извлеченные из документа, только теми элементами, которые вам действительно нужны.
Чтобы получить текст после элемента <script>
в четвертой ячейке, вы можете использовать что-то в следующем фрагменте кода:
Element td = doc.select("td:eq(3)").first();
System.out.println(td.text());
, поскольку из моего небольшого эксперимента кажется, что код JavaScript внутри <script>
теги пропускаются при запросе текста элемента, который содержит один из них.
Вы бы использовали цикл for
вместо first
, поскольку четвертых ячеек столько же, сколько строк вваш документ, и у вас их много.