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
语法。
我想使用 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
语法。