6

我使用 Jsoup 从 URL 获取页面。我可以使用以下代码行提取某个 id 的链接:

Elements links = doc.select("a[href]#title0"); 

如果我只知道其 ID 的一部分,例如“标题”,我如何才能找到这些元素。我知道我可以找到所有带有href的a链接,然后遍历“链接”并检查它的 id 是否包含“标题”子字符串,但是我想避免这种方法。有没有办法过滤选择器中的链接并检查它的 id 是否包含'title'子字符串?

4

2 回答 2

9

你可以使用类似的东西:

Elements links = doc.select("a[id^=nav]");

这将返回所有 id 以字符串“nav”开头的链接

以下将返回所有 id 包含字符串“logo”的链接

Elements links = doc.select("a[id~=logo]");
于 2013-01-03T20:36:00.487 回答
2

@alex-ackerman 的答案有一半是正确的,但另一半是错误的。

[attr^=valPrefix] 元素的属性名为“attr”,值以“valPrefix”开头 [attr$=valSuffix] 元素的属性名为“attr”,值以“valSuffix”结尾 [attr*=valContaining]属性名为“attr”的元素,值包含“valContaining” [attr~=regex] 属性名为“attr”的元素,值与正则表达式匹配 以上可以按任意顺序组合

http://jsoup.org/apidocs/org/jsoup/select/Selector.html

于 2014-10-04T08:28:15.503 回答