Как получить 1 элемент из таблицы на основе data-stat - PullRequest
0 голосов
/ 19 марта 2019

URL страницы: https://www.basketball -reference.com / Players / C / Collijo01.html

Расположение таблицы: <tr id="per_game.2019 class="full_table">

Элемент, который я хочу: <td class="right" data-stat="fg3a_per_g">2.5</td>

2.5 - это то, что я хочу. Раньше я перехватывал всю таблицу, а затем переходил к этой информации, но обнаружил, что это больше, чем пытаться захватить на основе имени стат-данных. Однако до сих пор я потерпел неудачу

Вопрос в том, может ли jsoup получить информацию, основываясь на разделе статистики по данным?

Код:

public static void getDataTest(String url) throws IOException
{
    String html = Jsoup.connect(url).execute().body();
    html = html.replaceAll("<!--", "");
    html = html.replaceAll("-->", "");
    Document doc = Jsoup.parse(html);
    Element tableElements = doc.getElementById("table#fg3a_per_g");

    System.out.print("Element found was: " + tableElements);
}

Примечание. Я также пробовал использовать "fg3a_per_g" без таблицы

1 Ответ

3 голосов
/ 20 марта 2019

Может ли jsoup получать информацию на основе раздела статистики по данным?

Sure:

Element element = doc.select("td[data-stat=fg3a_per_g]").first();

То, что вы называете section, на самом деле называется attribute. Также взгляните на другие CSS-селекторы. Вы не можете использовать все из них с Jsoup, но основные из них поддерживаются и очень полезны: https://www.w3schools.com/cssref/css_selectors.asp

...