0

我有一个像

<div class="student">
<h4 id="Classnumber100" class="studentheading">
   <a id="studentlink22" href="/grade8/greg">22. Greg</a>
</h4>
<div class="studentcategories">
<div class="studentneighborhoods">
</div>
</div>
</div>

我想使用 JSOUP 来获取 url = /grade8/greg 和“22. Greg”。

我试过选择器

    Elements listo = doc.select("h4 #studentlink22");

我无法获得价值。

其实我想根据 Classnumber100 选择 HTML 页面中有 300 条记录,唯一一致的是“Classnumber100.

所以我希望我的选择器选择classnumber100之后的所有href和文本。我怎样才能做到这一点。

我试过 doc.select("class#studentheading"); 以及许多其他可能性,但它们不起作用

4

2 回答 2

1

select 方法查找 html 标记,这里是 h4 和 a,然后是属性(如果您告诉它这样做)。您是否去过 jsoup 网站,因为 select 的使用已经很好地描述了这种情况。

例如

// code not tested
Elements listo = doc.select("h4[id=Classnumber100]").select("a");

String text = listo.text(); // for  "22. Greg"
String path = listo.attr("href"); // for  "/grade8/greg"

.

于 2012-09-15T19:07:15.660 回答
1

首先,多个元素不应该共享同一个 id,所以这些元素中的每一个都不应该id Classnumber100。但是,如果是这种情况,那么您仍然可以使用选择器选择它们[id=Classnumber100]

如果你只对a里面的标签感兴趣,那么你可以使用[id=Classnumber100] > a.

h4重新阅读问题后,您感兴趣的标签似乎class共享studentheading. 在这种情况下,您可以使用类选择器,即

doc.select(".studentheading > a")
于 2012-09-15T19:11:40.947 回答