从网站获取超链接

时间:2012-09-05 05:41:31

标签: java jsoup

我正在使用Jsoup。 我得到了document= connect.get();并获得了html页面。

现在我将其写入文本(字符串)。

我有用户填充这些页面。 我知道每个用户名。这些页面有用户名。 我能够做一个string.contains(“用户名”)来检查用户是否在场。

现在我的问题是: 我有

中有名字的用户

有序列表

无序列表

在Body

但在所有这些情况下,它们的格式为:示例

<li><a href="http://university.xxx.students.com/grade9/john/117429">2012 academic record</a></li>

有些人在桌子上,而且都是......

在示例中,我知道学生姓名= john。 我怎样才能获得所有网址?

==

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式:

Elements elements = document.select("[href~=(?is)http://university\\.xxx\\.students\\.com/grade9/(.+?)/[0-9]+?]")

更抽象:document.select("a[href~=regex]")

如果您已经知道可以替换(.+?)的名称,例如:

Elements elements = document.select("[href~=(?is)http://university\\.xxx\\.students\\.com/grade9/" + name + "/[0-9]+?]")

答案 1 :(得分:0)

这个怎么样:

    Document doc = Jsoup.connect(url).get();
    Elements links = doc.select("a[href]");

    for (Element link : links) {
        if(link.attr("abs:href").contains(studentName) || link.text().contains(studentName)){
            studentLinkList.add(link.attr("abs:href"));
        }
    }