HttpClient+jsoup實現網頁資料抓取和處理
阿新 • • 發佈:2019-02-12
這裡僅簡單介紹一種我曾用到的網頁資料的抓取和處理方案。
通過HttpClient可以很方便的抓取靜態網頁資料,過程很簡單,步驟如下:
//構造client
HttpClient client = new HttpClient();
//構建GetMethod物件
GetMethod temp_get = new GetMethod(URL);
client.executeMethod(temp_get);
//獲取返回的網頁資訊
String webResult=temp_get.getResponseBodyAsString();
抓取後的網頁分析也有很多開源的工具包,這裡推薦使用jsoup
Document doc = Jsoup.parse(htmlString);
Elements dls = doc.select("#queryform .listinfo").select("dl");
Elements xhdds=dls.get(0).select("dd");//序號
Elements grbmdds=dls.get(1).select("dd");//個人編碼
最後,如果我們需要獲取的網頁資料是通過ajax獲取後生成的,那麼使用HttpClient則不能解決,推薦使用HtmlUnit(http://htmlunit.sourceforge.net/WebClient webClient = new WebClient()
HtmlPage page = webClient.getPage("http://some_url");
final HtmlDivision div = page.getHtmlElementById("some_div_id");