Jsoup:从表中获取数据
Posted
技术标签:
【中文标题】Jsoup:从表中获取数据【英文标题】:Jsoup: get data from table 【发布时间】:2021-10-27 09:21:18 【问题描述】:我想使用 Jsoup 从网页中获取 71–85
。经过一些试验和错误,我能够使用以下代码来做到这一点:
document.select("#row_13 > div.row-desc > div").text();
我认为这不是一个好的解决方案,我想。我在这里使用id
,它是表格的一部分。更好的方法可能是获取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
【问题讨论】:
【参考方案1】:更好的方法可能是获取
Pages
之后出现的内容。
首先,选择类row-label
包含文本“Pages”的元素。
然后,选择该元素的第一个兄弟元素并获取其文本。
你可以这样做:
document.select(".row-label:contains(Pages) + *").first().text();
如果您知道只有一个类 row-label
的元素包含文本“Pages”,您甚至可以省略 .first()
:
document.select(".row-label:contains(Pages) + *").text();
有关所用符号的信息,请参阅Selector
语法。
【讨论】:
以上是关于Jsoup:从表中获取数据的主要内容,如果未能解决你的问题,请参考以下文章