如何解析提取的内容 HTML

How to Parse through Contents of extracted HTML

我正在使用 Jsoup 调用从网站获取以下内容。

<body>
 <div align="center" class="main">
  <div id="box1">
   <div id="heading" align="center">
    SENSEX
   </div>
   <div id="feeds" align="center">
    23,410.18
   </div>
   <div id="feeds_se" align="center">
    <img src="arrow_red.png" alt="" width="12" height="13" /> -378.61
   </div>
  </div>
  <div id="box2"></div>
 </div>
 <div align="center" class="main">
  <div id="box1">
   <div id="heading" align="center">
    USD/INR
   </div>
   <div id="feeds" align="center">
    68.50
   </div>
   <div id="feeds_se" align="center">
    <img src="arrow_red.png" alt="" width="12" height="13" /> -0.05
   </div>
  </div>
  <div id="box2"></div>
 </div>
 <div align="center" class="main">
  <div id="box1">
   <div id="heading" align="center">
    Crude($/BBL)
   </div>
   <div id="feeds" align="center">
    34.69
   </div>
   <div id="feeds_se" align="center">
    <img src="arrow_green.png" alt="" width="12" height="13" /> 1.68
   </div>
  </div>
  <div id="box2"></div>
 </div>

</body>

你能告诉我如何阅读这些值吗

如何检索值

SENSEX   23,410.18  -378.61
USD/INR   68.50    -0.05
Crude($/BBL)  34.69   1.68

要获取 HTML 页中的信息,您可以使用 CSS selectors。在您的示例中,您可以这样做:

Elements els = doc.select("#heading");
for (Element el : els){
    System.out.println(el.text());
}

请注意,您的 html 并非真正有效,因为它包含非唯一 ID。这应该不会发生在HTML,幸好Jsoup不关心这个

试试这个代码:

    Document doc = Jsoup.parse(yourHtmlString);
    Elements elements = doc.select("div.main");
    for (Element element : elements) {
        System.out.println(element.getElementById("heading").text() + " "
        + element.getElementById("feeds").text()+ " "
        + element.getElementById("feeds_se").text());       
    }

输出:

SENSEX 23,410.18 -378.61
USD/INR 68.50 -0.05
Crude($/BBL) 34.69 1.68