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