[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]
WebPage網頁數據採集API
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
新浪微博搜索其實就是人肉索引擎!
nanjingdreamfly
2020-02-22 17:09:14
Lucene整合"庖丁解牛"中文分詞包
lsb_48
2019-02-22 18:28:49
什麼是垂直搜索-全面瞭解垂直搜索引擎
sunnyykn
2018-11-08 06:43:09
垂直搜索引擎深度分析
sunnyykn
2018-11-08 06:43:08
互聯網上五個最高級的搜索引擎
sunnyykn
2018-11-08 06:43:08
國外最被看好的十大垂直搜索引擎
sunnyykn
2018-11-08 06:43:08
搜你所想 分享國外八大獨具特色的搜索引擎
sunnyykn
2018-11-08 06:43:08
Lucene整合"庖丁解牛"中文分詞包
lsb_48
2018-09-11 06:16:08
myeclipse7.0配置heritrix-1.14.3開發環境
lsb_48
2018-09-11 06:16:08
不錯的垂直搜索
langxuanlovehai
2018-09-03 11:12:06
購物垂直搜索,讓買家掌握更多的決策信息
pengruikeji
2018-08-31 15:24:05
AutoIt3採集網頁中JS生成的數據
iteye_3033
2018-08-26 11:35:46
sitemap文件生成的java實現思路(轉)
lussy28
2018-08-23 15:18:52
Ajax與REST架構簡單示例(轉)
lussy28
2018-08-23 15:18:51