外部库如何使用Java获取任何网站的HTML内容中存在的所有URL?
编辑1:任何人都可以解释scan..useDelimiter(“ \ Z”)的实际作用,以及scanner.useDelimiter(“ \ Z”)和scanner.useDelimiter(“ \ z”)的区别是什么。这里是代码:
URL url;
ArrayList<String> finalResult = new ArrayList<String>();
try {
String content = null;
URLConnection connection = null;
try {
connection = new URL("https://yahoo.com").openConnection();
Scanner scanner = new Scanner(connection.getInputStream());
scanner.useDelimiter("\\Z");
content = scanner.next();
scanner.close();
} catch (Exception ex) {
ex.printStackTrace();
}
String regex = "(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(content);
while (m.find()) {
if(!finalResult.contains((m.group())))
finalResult.add(m.group());
}
} finally {
for(String res: finalResult){
System.out.println(res);
}
}
但是我不能停止说Jsoup就是适合这个。但这是一个外部库。