您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何使用HttpClient和HtmlParser實現簡易爬蟲的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
HttpClient 簡介
HTTP 協議是現在的因特網最重要的協議之一。除了 WEB 瀏覽器之外, WEB 服務,基于網絡的應用程序以及日益增長的網絡計算不斷擴展著 HTTP 協議的角色,使得越來越多的應用程序需要 HTTP 協議的支持。雖然 JAVA 類庫 .net 包提供了基本功能,來使用 HTTP 協議訪問網絡資源,但是其靈活性和功能遠不能滿足很多應用程序的需要。而 Jakarta Commons HttpClient 組件尋求提供更為靈活,更加高效的 HTTP 協議支持,簡化基于 HTTP 協議的應用程序的創建。 HttpClient 提供了很多的特性,支持最新的 HTTP 標準,可以訪問這里了解更多關于 HttpClinet 的詳細信息。目前有很多的開源項目都用到了 HttpClient 提供的 HTTP功能,登陸網址可以查看這些項目。本文中使用 HttpClinet 提供的類庫來訪問和下載 Internet上面的網頁,在后續部分會詳細介紹到其提供的兩種請求網絡資源的方法: Get 請求和 Post 請求。Apatche 提供免費的 HTTPClien t源碼和 JAR 包下載,可以登陸這里 下載最新的HttpClient 組件。筆者使用的是 HttpClient3.1。
HtmlParser 簡介
當今的 Internet 上面有數億記的網頁,越來越多應用程序將這些網頁作為分析和處理的數據對象。這些網頁多為半結構化的文本,有著大量的標簽和嵌套的結構。當我們自己開發一些處理網頁的應用程序時,會想到要開發一個單獨的網頁解析器,這一部分的工作必定需要付出相當的精力和時間。事實上,做為 JAVA 應用程序開發者, HtmlParser 為其提供了強大而靈活易用的開源類庫,大大節省了寫一個網頁解析器的開銷。 HtmlParser 是 上活躍的一個開源項目,它提供了線性和嵌套兩種方式來解析網頁,主要用于 html 網頁的轉換(Transformation) 以及網頁內容的抽取 (Extraction)。HtmlParser 有如下一些易于使用的特性:過濾器 (Filters),訪問者模式 (Visitors),處理自定義標簽以及易于使用的 JavaBeans。正如 HtmlParser 首頁所說:它是一個快速,健壯以及嚴格測試過的組件;以它設計的簡潔,程序運行的速度以及處理 Internet 上真實網頁的能力吸引著越來越多的開發者。 本文中就是利用HtmlParser 里提取網頁里的鏈接,實現簡易爬蟲里的關鍵部分。HtmlParser 最新的版本是HtmlParser1.6,可以登陸這里下載其源碼、 API 參考文檔以及 JAR 包。
開發環境的搭建
筆者所使用的開發環境是 Eclipse Europa,此開發工具可以在 免費的下載;JDK是1.6,你也可以在 站點下載,并且在操作系統中配置好環境變量。在 Eclipse 中創建一個 JAVA 工程,在工程的 Build Path 中導入下載的Commons-httpClient3.1.Jar,htmllexer.jar 以及 htmlparser.jar 文件。
HttpClient 基本類庫使用
HttpClinet 提供了幾個類來支持 HTTP 訪問。下面我們通過一些示例代碼來熟悉和說明這些類的功能和使用。 HttpClient 提供的 HTTP 的訪問主要是通過 GetMethod 類和 PostMethod 類來實現的,他們分別對應了 HTTP Get 請求與 Http Post 請求。
GetMethod
使用 GetMethod 來訪問一個 URL 對應的網頁,需要如下一些步驟。
生成一個 HttpClinet 對象并設置相應的參數。
生成一個 GetMethod 對象并設置響應的參數。
用 HttpClinet 生成的對象來執行 GetMethod 生成的 Get 方法。
處理響應狀態碼。
若響應正常,處理 HTTP 響應內容。
釋放連接。
感謝各位的閱讀!關于“如何使用HttpClient和HtmlParser實現簡易爬蟲”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。