Java 从网页获取所有链接

Java 从网页获取所有链接,java,regex,url,hyperlink,Java,Regex,Url,Hyperlink,我想在执行get之后获取页面中的所有链接,我的代码适用于某些网站,但不适用于其他网站。调试时,它显示未找到匹配项,并且它从未进入while循环,尽管该网站中存在链接 Pattern linkPattern = Pattern.compile("<a[^>]+href=[\"']?([\"'>]+)[\"']?[^>]*>(.+?)", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);

我想在执行get之后获取页面中的所有链接,我的代码适用于某些网站,但不适用于其他网站。调试时,它显示未找到匹配项,并且它从未进入while循环,尽管该网站中存在链接

  Pattern linkPattern = Pattern.compile("<a[^>]+href=[\"']?([\"'>]+)[\"']?[^>]*>(.+?)",               
    Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
    Matcher pageMatcher = linkPattern.matcher(Content);

    if (FindKeyword(Content)) {
        LinksWithKey.add(HostName);
    }
        count++;

    while (pageMatcher.find()) {
Pattern-linkPattern=Pattern.compile(“]+href=[\”']?([\“'>]+)[\“']?[^>]*>(.+?)”,
Pattern.CASE|u不敏感| Pattern.DOTALL);
Matcher pageMatcher=linkPattern.Matcher(内容);
如果(FindKeyword(内容)){
LinksWithKey.add(主机名);
}
计数++;
while(pageMatcher.find()){

>P>就像评论中所说的一样,你应该考虑使用这样的任务。

Document doc = Jsoup.parse(Content); // this is your original HTML content
for (Element link : doc.select("a[href]")) {
    System.out.println(link.attr("href"));
}

显示一个与我们的regexpJsoup不匹配的示例或URL会更容易?您可能想看一看。它们甚至有一个演示如何从下载的页面提取链接的示例。不要尝试在需要解析器的地方使用正则表达式。这需要解析器。“需要使用套接字,因此,我认为我需要搜索它们。”“这在你的头脑中有意义吗?听上去像是胡说八道。我试过使用JSOUP,但循环只输入一次,即使有其他链接,也不会输入更多