WebPage網頁數據採集API

[size=medium]
從2008年開始做網頁數據採集,開始用使用別人編寫的API 如HTML Parser、NekoHTML、Jericho HTML Parser(用於解析html網頁),HtmlUtil(純java版瀏覽器,具有Http協議和Html解析功能,JS執行功能)等,配合 HttpClient(提供高效的、最新的、功能豐富的支持 HTTP 協議的客戶端編程工具包,是HTTP協議有關的包,與我介紹的API中的HtmlPage類 類似)。因爲那些API採集[color=red]大量多種格式[/color]的網頁數據時,在配置上很不靈活,例如採用DOM解析,Xpath等,導致配置複雜,所以從09年3月份開始編寫自己的獲取和分析網頁的API:webpage。並且服務在公司的項目中。通過預先配置,經過對1萬多個數據源和多種網頁數據呈現格式的採集測試與改正,在2010年9月份形成一個較爲穩定的版本。

修改歷史:
本工具與2012-09-17發現一個bug且已修正。於今天從新打包提交一個版本,之前源碼和jar包版本將刪除。

1、源碼包結構說明:基於com.hlxp.webpage包下開始說明:
(1)com.hlxp.webpage.app 與採集應用有關且可以獨立運行的工具類,主要還是配合採集。
(2)com.hlxp.webpage.bean 採集中使用的無狀態的一些VO(值對象)
(3)com.hlxp.webpage.log 包中是日誌類,主要是包裝了jdk自帶的日誌對象;和log4j的日誌類。
(4)com.hlxp.webpage.util包中含一些具體的採集工具,它們使用了HtmlPage和HtmlUtil類完成特定的採集,如只採集鏈接,或者只採集img的鏈接。
(5)HtmlPage類是一個基礎類,主要是通過get和post方式獲取網頁,也支持提交參數。
(6)HtmlUtil類是一個基礎類,主要是解析通過HtmlPage獲取的網頁,支持正則表達式解析,支持字符切割,支持HTML標記解析。
[color=red]注:[/color]
源碼中沒有例子程序,例子在各解析類的main函數中。以後有空將會編寫API幫助文檔和例子程序,這些都將發佈在本篇博客中的附件中。
有疑問的朋友可以在本博客留言,我會和大家一起討論。

2.API功能介紹
(1)能夠或普通網頁和無需驗證碼的登錄網頁(需要登錄的網頁,要人工登錄,然後複製cookie到程序中,即可獲取)
(2)能夠解析HTML,XML,DTD等靜態文本顯示數據的網頁。
(3)能夠方便採集翻頁網頁,通過設定分頁鏈接格式,自動的生成或採集分頁鏈接和其網頁。
(4)HtmlPage.java用於獲取網頁,HtmlUtil.java用於解析網頁的基礎類。兩個類的main方法中有舉例。

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