在 JSoup 中按“名称”选择
Posted
技术标签:
【中文标题】在 JSoup 中按“名称”选择【英文标题】:Select by "name" in JSoup 【发布时间】:2011-11-27 03:39:16 【问题描述】:我必须解析的网页 URL 中有多个 div,它们具有相同的类名但不同的名称且没有 id。
例如。
<div class="answer" style="display: block;" name="yyy" oldblock="block" jQuery1317140119108="11">
和
<div class="answer" style="display: block;" name="xxx" oldblock="block" jQuery1317140119108="11">
我想选择数据并仅从一个 div 中解析,即 (name="yyy")(div 内的内容是 <href>
链接,每个类都不同。
我在 Jsoup 网页中查找了selector syntax,但无法解决它。你能帮我解决这个问题吗,或者如果我遗漏了什么,请告诉我?
【问题讨论】:
【参考方案1】:使用[attributename=attributevalue]
选择器。
Elements xxxDivs = document.select("div.answer[name=xxx]");
// ...
Elements yyyDivs = document.select("div.answer[name=yyy]");
// ...
【讨论】:
你之前的回答效果很好,只有在我输入正确的语法后,我才意识到还有另一个同名的 div,即有两个 div class="answer" style="display: block;" name="xxx" oldblock="block"....有什么方法可以区分他们两个吗? 寻找不同且更独特的属性或内容,以便您可以区分它们。或者,如果它的顺序是固定的,您也可以通过.first()
获得第一个,或者通过.get(1)
或.last()
获得第二个或最后一个。以上是关于在 JSoup 中按“名称”选择的主要内容,如果未能解决你的问题,请参考以下文章
python 用于从CSV文件中按名称选择列(假设第一行包含标题)的小实用程序没有歧义(来自`csvkit`的`csvcut`具有