【发布时间】:2013-02-23 15:30:53
【问题描述】:
我想在执行 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()) {
【问题讨论】:
-
显示我们的正则表达式不匹配的示例或 URL
-
Jsoup 会更容易吗?
-
不要尝试在需要解析器的地方使用正则表达式。这需要一个解析器。
-
“因此需要使用套接字,我想我需要搜索它们” 你觉得这有意义吗?听到它读起来像废话。