【问题标题】:Extract <data-id > from HTML with JSoup使用 JSoup 从 HTML 中提取 <data-id>
【发布时间】:2018-02-01 12:09:17
【问题描述】:

我是 Jsoup 的新手,我正在尝试使用 Jsoup 从网站上抓取一些数据。 我只想提取特定&lt;data-id&gt; 节点下的数据。 这是网页结构

<tr data-id="13">
  <td class="th">Dimension</td>
  <td class="l">152.5x82x9.8mm (6x3.23x0.39")</td>
</tr>
<tr class="even" data-id="15">
  <td class="th">Weight</td>
  <td class="l">190gr (6.7oz)</td>
</tr>
<tr class="h" data-id="116">
   <td class="th">Ringtone</td>
   <td class="l"></td>
</tr>

我需要这样的东西

  1. 维度
  2. 190gr
  3. 铃声 请帮帮我。

这是我尝试过的

 public static void main(String[] args) throws Exception{

    final Document document =  Jsoup.connect("url").get();

    String testString = document.select("table")
            .select("tbody").select(".even")
            .select("td.l").text();
    System.out.println("the tile is "+testString);
    }
}

这是输出:152.5x82x9.8mm (6x3.23x0.39") 190gr 等等

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 我尝试了这个最终的 Document document = Jsoup.connect("url")..timeout(6000).get(); String testString = document.select("table") .select("tbody").select(".even") .select("td.l").text(); System.out.println("图块是"+testString);但我同时获得所有节点
  • 将您的评论添加到问题本身,以便其他人更容易理解问题。

标签: java html jsoup


【解决方案1】:
    Document out = Jsoup.connect("https://www.phonegg.com/phone/9858-Energizer-Power-Max-P600s-32GB/%22")
            .timeout(15000).get();
    String dimension = out.getElementsByAttributeValue("data-id", "13").get(0).getElementsByClass("l").text();
    String weight = out.getElementsByAttributeValue("data-id", "15").get(0).getElementsByClass("l").text();
    String rington = out.getElementsByAttributeValue("data-id", "116").get(0).getElementsByClass("l").text();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多