如何迭代一组链接并提取href并将它们存储在一个新集中?

时间:2014-08-09 07:25:09

标签: java jsoup

这是我到目前为止所拥有的。我试图遍历我的第一组链接并从每个元素中提取HTML标记。然后将链接添加到临时集。最后,它将清除第一组并将所有链接重新放入其中。希望这是有道理的。

到目前为止,我当前的代码给了我

的编译时错误
    temp.add(x.attr("href"));

以下是代码:

    public static void main(String[] args) throws IOException {


    Document doc = Jsoup.connect("http://en.wikipedia.org/wiki/Matrix_(mathematics)").get();

    Elements links = doc.select("body a");

    Set<Element> linkSet = new HashSet<Element>(links);

    Set<Element> temp = new HashSet<Element>();

    for(Element x : linkSet)
        temp.add(x.attr("href"));

    linkSet.clear();

    linkSet.addAll(temp);

2 个答案:

答案 0 :(得分:1)

正如您在documentation中看到的那样,attr正在返回String,而不是Element

Set<String> links = new HashSet<String>();
for (Element link: doc.select("body a"))
   links.add(link.attr("href"));

答案 1 :(得分:0)

我不知道您正在使用哪个Element类,但Element.attr(。)可能会返回一个String而不是另一个Element。