爬蟲遇到路徑轉換的解決方案
阿新 • • 發佈:2018-11-22
String href = n.attr("abs:href");//jsoup自帶的路徑轉換方法,有的時候行不通
if("".equals(href)) {
href = n.attr("href");
if (href.indexOf("http") < 0) {
href = getAbsoluteURL(url, href);
}
}
@SuppressWarnings("finally") public static String getAbsoluteURL(String baseURI, String relativePath) { String abURL = null; try { URI base = new URI(baseURI);// 基本網頁URI URI abs = base.resolve(relativePath);// 解析於上述網頁的相對URL,得到絕對URI URL absURL = abs.toURL();// 轉成URL abURL = absURL.toString(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } finally { return abURL; } }