java - 如何根据 data-stat 从表中获取 1 个元素

标签 java jsoup

页面网址: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可以根据data-stat部分抓取信息吗?

代码:

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”本身没有表

最佳答案

Can jsoup grab info based on data-stat section?

当然:

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

你所说的section实际上叫做attribute。另请参阅更多 CSS 选择器。您不能将所有这些都与 Jsoup 一起使用,但基本的都受支持并且非常有用: https://www.w3schools.com/cssref/css_selectors.asp

关于java - 如何根据 data-stat 从表中获取 1 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55249473/

相关文章:

java - Android 应用程序因 JSoup 崩溃

java - 使用 maven 不断收到 java.lang.NoClassDefFoundError

java - 如何从 ListView 中引用元素内的 View ?

java - 同步数据输出流

java - Injector.getInstance(..) 为单例返回一个新实例

java - 从本地 HTML 页面抓取 Android 应用程序的数据

java - 无法捕获 SSLException - Java

java - JTextPane 和水平线

java - Tomcat服务器默认页面查询

java - 有什么方法可以从 div 内的内部 html 中删除\n 吗?