Jsoup:从 table 获取数据

Jsoup: get data from table

我想使用 Jsoup 从网页中获取 71–85。经过反复试验,我能够使用以下代码完成此操作:

document.select("#row_13 > div.row-desc > div").text();

我认为这不是一个好的解决方案,我想。我在这里使用 id,它是 table 的一部分。更好的方法可能是获取出现在 Pages 之后的内容。但是,我不知道如何处理这个问题。非常欢迎任何帮助!

<div style="" class="  row row-even" id="row_13">
   <div class="row-label" >
      <div class="white_label ">Pages</div>
   </div>
   <div class="row-desc">
      <div class="white_desc " style="width: 100%">
         71–85
      </div>
   </div>
</div>

EDI 这是以上内容摘自的页面: http://cejsh.icm.edu.pl/cejsh/element/bwmeta1.element.desklight-dc6b14c1-8478-426a-8f2e-bb5636e0a5e9

A better approach would be perhaps to get what appears after Pages.

首先,select class row-label 包含文本“Pages”的元素。 然后,select 该元素的第一个兄弟元素并获取其文本。

您可以这样做:

document.select(".row-label:contains(Pages) + *").first().text();

如果您确实知道只有一个 class row-label 元素包含文本“Pages”:

,您甚至可以省略 .first()
document.select(".row-label:contains(Pages) + *").text();

有关所用符号的信息,请参阅 Selector 语法。