我有最基本的 java 代码来执行 http 请求,它工作正常。我请求数据,然后返回大量 html。我想从该页面检索所有 url 并列出它们。对于一个简单的第一次测试,我让它看起来像这样:
int b = line.indexOf("http://",lastE);
int e = line.indexOf("\"", b);
这是有效的,但正如您想象的那样,它很糟糕,并且仅在 80% 的情况下有效。我自己能想出的唯一选择听起来又慢又蠢。所以我的问题非常多,我从哪里去
String html
到
List<Url>
?
最佳答案
Pattern p = Pattern.compile("http://[\w^\"]++");
Matcher m = p.matcher(yourFetchedHtmlString);
while (m.find()) {
nextUrl=m.group();//Do whatever you want with it
}
您可能还需要调整正则表达式,因为我只是在没有测试的情况下编写的。这应该是一种非常快速的获取 url 的方法。
关于java - 从java中的网页检索URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7397831/