gpt4 book ai didi

java jsoup - 如何从通过文本搜索的 href 中获取所有链接

转载 作者:行者123 更新时间:2023-12-01 23:20:02 36 4
gpt4 key购买 nike

我的网页中有很多这样的行:

<a href="City1/Waves321.aspx"><span><span style="font-family: Courier New">Title</span></span></a> 
<span style="font-family: Courier New"> (<a href="City1/River267.aspx">txt</a>)</span></li></ul>
<a href="City2/Waves761.aspx"><span><span style="font-family: Courier New">Title</span></span></a>
<span style="font-family: Courier New"> (<a href="City2/River767.aspx">txt</a>)</span></li></ul>

我只想得到:

City1/Waves321.aspx

City2/Waves761.aspx

依此类推...“标题”之前的每个 ahref。

我用这段代码进行了测试:

public class ListLinks {
public static void main(String[] args) throws IOException {
Validate.isTrue(args.length == 1, "usage: supply url to fetch");
String url = args[0];
String address;

Document doc = Jsoup.connect(url).timeout(10*1000).get();
Elements links = doc.select("a[href~=(Waves)]");
//String linkText = links.text();

for (Element link : links) {
String linkHref = link.attr("href");
address = url + linkHref;
System.out.println(address);
}

它适用于大多数链接,但它错过了“标题”位于新行中的链接,如下所示:

<a href="City/Waves321.aspx"><span><span style="font-family: Courier New">
Title</span></span></a><span style="font-family: Courier New"> (<a href="City/River267.aspx">txt</a>)</span></li></ul>

我无法更改网页代码(顺便说一句:/)

如何在 Jsoup 中实现此目的?

最佳答案

你可以这样做 -

Elements e = doc.getElementsByTag("a");
e.stream().forEach(p -> System.out.println(p.attr("href")));

关于java jsoup - 如何从通过文本搜索的 href 中获取所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58331238/

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