最近需要获取百度的搜索结果数据,可是百度的url已经加密了,无法获取真实地址,后来就用htmlunit重新抓取了一遍获取地址,效率特别低,后来想到点击url肯定有个跳转的步骤,在Header中的location中发现了真是url,于是用Jsoup连接获取跳转,代码如下:
public String getRealUrlFromBaiduUrl(String url) {
Connection.Response res = null;
int itimeout = 60000;
try {
res = Jsoup.connect(url).timeout(itimeout).method(Connection.Method.GET).followRedirects(false).execute();
return res.header("Location");
} catch (IOException e) {
e.printStackTrace();
}
return "";
}