gpt4 book ai didi

java - 如何在 Java 中使用 Jericho 解析源中的所有链接,同时过滤或忽略具有特定 id 的元素?

转载 作者:行者123 更新时间:2023-11-30 04:34:58 25 4
gpt4 key购买 nike

我正在使用 Jericho java 客户端库来解析所有 href 链接。我想要做的是过滤掉或跳过源中包含特定 id 的所有链接。我已经尝试了几件事,我的解决方案并不漂亮,但基本上我可以通过检查如下内容来完成此任务:

for(Element element : elements) {
if (element.getAllStartTags().toString().contains("skip_me")) {
// do something
}
}

但我更喜欢更干净的解决方案。我们假设这是来源:

<td>
<a href="http://www.yahoo.com" id="skip_me" />
</td>
<td>
<a href="http://www.google.com" />
</td>

只是一个小片段,但我希望它最终返回的只是“www.google.com”。我将不胜感激任何帮助。谢谢。

最佳答案

这是另一种解决方案:

for( Element element : elements )
{
if( element.getStartTag().getName() == HTMLElementName.A ) // Select only 'a'-tags
{
final String id = element.getAttributeValue("id"); // Get Attribute 'id'

if( id == null || !id.equals("skip_me") ) // Process element if it has a.) no id (null) or b.) the id is not 'skip_me'
{
System.out.println(element); // Process Element
}
}
}

输出:
(使用您的 html)

<a href="http://www.google.com" />

关于java - 如何在 Java 中使用 Jericho 解析源中的所有链接,同时过滤或忽略具有特定 id 的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13716398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com