HtmlUnit的使用

HtmlUnit的使用

簡介

  • HtmlUnit是一個無界面瀏覽器Java程序。它爲HTML文檔建模,提供了調用頁面、填寫表單、單擊鏈接等操作的API。就跟你在瀏覽器裏做的操作一樣。

  • HtmlUnit不錯的JavaScript支持(不斷改進),甚至可以使用相當複雜的AJAX庫,根據配置的不同模擬Chrome、Firefox或Internet Explorer等瀏覽器。

  • HtmlUnit通常用於測試或從web站點檢索信息。

HtmlUnit使用場景

  • httpClient的侷限性

我們一般可以使用apache的HttpClient組件進行HTML頁面信息的獲取,HttpClient實現的http請求返回的響應一般是純文本的document頁面,即最原始的html頁面。

對於一個靜態的html頁面來說,使用httpClient足夠將我們所需要的信息爬取出來了。但是對於現在越來越多的動態網頁來說,更多的數據是通過異步JS代碼獲取並渲染到的,最開始的html頁面是不包含這部分數據的。

通過HtmlUnit庫,加載一個完整的Html頁面(圖片視頻除外),然後就可以將其轉換成我們常用的字串格式,用其他工具如Jsoup來獲取其中的元素了。當然也可以直接在HtmlUnit提供的對象中獲取網頁元素,甚至是操作如按鈕、表單等控件。除了不能像可見瀏覽器一樣用鼠標鍵盤瀏覽網頁之外,我們可以用HtmlUnit來模擬操作其他的一切操作,像登錄網站,撰寫博客等等都是可以完成的。當然網頁內容爬取是最簡單的一個應用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章