当前位置: 首页 > 知识库问答 >
问题:

如何使用jsoup获得第一个' href '字符串?

颜阳炎
2023-03-14

我的代码返回网页上的所有链接,但当我在谷歌上搜索某些东西时,例如“android”,我想获取第一个链接。我该怎么做?

  Document doc = Jsoup.connect(sharedURL).get();
                    String title = doc.title();
                    Elements links = doc.select("a[href]");
                    stringBuilder.append(title).append("\n");
                    for (Element link : links) {
                        stringBuilder.append("\n").append(" ").append(link.text()).append(" ").append(link.attr("href")).append("\n");
                    }

这是我的代码

共有1个答案

瞿文柏
2023-03-14
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Node;
import org.jsoup.select.Elements;

public class Main {
    public static void main(String[] args) throws IOException {
        Document doc = Jsoup.connect("https://en.wikipedia.org/wiki/Wikipedia").get();
        Elements links = doc.select("a[href]");
        Node node = links.first();
        System.out.println(node.absUrl("href"));
    }
}

输出:

https://en.wikipedia.org/wiki/Wikipedia:Protection_policy#semi
 类似资料:
  • 我有一些url。我想从url指向的html中获取所有href,从所有获取的hrefs中获取所有href(递归)。关键是我想设置“递归”的深度。例如,如果深度=1,我只需要来自超文本标记语言的href。如果深度=2,我需要来自超文本标记语言的hrefs(假设为list1)和来自list1的每个href的hrefs,依此类推 以下是我使用jsoup得到的结果: 我应该如何修复递归条件以使其正确?

  • 我有一个元素列表,我正在使用JSOUP的方法attr()来获取href属性。下面是我的部分代码: 例如,当我使用搜索prase“test”时,attr(“href”)生成(列表的第一个): linkHref=https://www.tutorialspoint.com/software_testing/&sa=u&ved=0ahukewi_li-t69jtahxibxqkhu1kblaqfggtm

  • 问题内容: 文字为: 我只想得到 我试过了 : 但这给了我: 问题答案: 正则表达式是不必要的。只需使用或即可。

  • 问题内容: 我必须将HTML中的所有文本元素提取到Java字符串中。但是在单独的字符串中。 我有以下代码: 我用: 但是与此同时,我提取了“ hide-for-small”类中的所有Strings。所以我得到的答案是:2. Spieltag | sa。,26.07.2014 | 17:45 Uhr 2. Spieltag 26.07.2014 17:45 Uhr Letzigrund | 4200

  • 问题内容: 我想获取字符串的第一个字母,并且我发现这样做效果很好。我只是不确定这是否是“好的做法”,因为该符号通常用于数组。这个功能似乎没有得到很好的记录,因此我想请大家告诉我在所有方面都可以使用此符号吗? 还是我应该坚持好习惯? 另外,我注意到花括号()也适用。那是怎么回事? 问题答案: 是。字符串可以看作是字符数组,访问数组位置的方法是使用运算符。通常,使用完全没有问题(而且我敢肯定比该方法要