gpt4 book ai didi

Java jsoup 链接忽略

转载 作者:行者123 更新时间:2023-11-29 04:49:56 24 4
gpt4 key购买 nike

我有以下代码:

private static final Pattern FILE_FILTER = Pattern.compile(
".*(\\.(css|js|bmp|gif|jpe?g|png|tiff?|mid|mp2|mp3|mp4|wav|avi|mov|mpeg|ram|m4v|pdf" +
"|rm|smil|wmv|swf|wma|zip|rar|gz))$");

private boolean isRelevant(String url) {
if (url.length() < 1) // Remove empty urls
return false;
else if (FILE_FILTER.matcher(url).matches()) {
return false;
}
else
return TLSpecific.isRelevant(url);
}

我在解析网站时使用这部分来检查它是否包含包含某些声明模式的链接,但我不知道有没有办法直接通过 jsoup 来完成它并优化代码。例如,给定一个网页,我如何使用 jsoup 忽略所有这些页面?

最佳答案

how I can ignore all of them with jsoup?

假设我们想要任何在其 hrefsrc 属性中没有 jpg 或 jpeg 扩展名的元素。

String filteredLinksCssQuery = "[href]:not([href~=(?i)\\.jpe?g$]), " + //
"[src]:not([src~=(?i)\\.jpe?g$])";

String html = "<a href='foo.jpg'>foo</a>" + //
"<a href='bar.svg'>bar</a>" + //
"<script src='baz.js'></script>";

Document doc = Jsoup.parse(html);

for(Element e: doc.select(filteredLinksCssQuery)) {
System.out.println(e);
}

输出

<a href="bar.svg">bar</a>
<script src="baz.js"></script>

[href]                      /* Select any element having an href attribute... */
:not([href~=(?i)\.jpe?g$]) /* ... but exclude those matching the regex (?i)\.jpe?g$ */
, /* OR */
[src] /* Select any element having a src attribute... */
:not([src~=(?i)\.jpe?g$]) /* ... but exclude those matching the regex (?i)\.jpe?g$ */

您可以添加更多的扩展来过滤。您可能希望编写一些代码来自动生成 filteredLinksCssQuery,因为此 CSS 查询很快就会变得无法维护。

关于Java jsoup 链接忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35840095/

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