1. 程式人生 > >HttpClient+jsoup實現網頁資料抓取和處理

HttpClient+jsoup實現網頁資料抓取和處理

這裡僅簡單介紹一種我曾用到的網頁資料的抓取和處理方案。

通過HttpClient可以很方便的抓取靜態網頁資料,過程很簡單,步驟如下:

 //構造client
HttpClient client = new HttpClient();

//構建GetMethod物件
GetMethod temp_get = new GetMethod(URL);
client.executeMethod(temp_get);
			
//獲取返回的網頁資訊
String webResult=temp_get.getResponseBodyAsString();

抓取後的網頁分析也有很多開源的工具包,這裡推薦使用jsoup
,因為其語法和jquery類似,有網頁開發經驗的人使用起來很方便
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則不能解決,推薦使用HtmlUnithttp://htmlunit.sourceforge.net/
),使用起來也很簡單
WebClient webClient = new WebClient()
HtmlPage page = webClient.getPage("http://some_url");
final HtmlDivision div = page.getHtmlElementById("some_div_id");