基于Redis的爬蟲平臺的實現

zhouluxi 8年前發布 | 11K 次閱讀 Redis 網絡爬蟲

一、需求:

1.數據抓取:目標數據的下載、解析、入庫功能。

2.數據服務:黑名單、灰名單等查詢服務。

3.平臺監控:平臺各個模塊的數據實時監控。

二、WEB端效果展示:

三、架構設計

下載器、解析器、持久器、調度器都支持獨立部署,可橫向拓展部署多臺服務。解耦。下載器內部開啟多線程下載;解析器從待解析隊列取數據,分支抽鏈、解析;調度器和持久器都放在web工程中,項目啟動時抓取任務初始化+持久器任務開啟。下載器、解析器、調度器、持久器都依賴于底層基礎DAO服務。

四、技術選型

1.下載器和解析器:嘗試過很多種,Jsoup、Jspider、Xpath、httpclient、HtmlUnit等。基本功能都可以。Jsoup可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。Jsoup的強大選擇器最終讓我選擇了它。

2.生產消費介質:這里有很多種:消息隊列MQ、緩存容器redis等都可以勝任。作為一次練手,采用單臺redis作為消費介質(內部串行執行),可避免多線程并發問題,數據結構為list。

 

來自:http://www.cnblogs.com/dennyzhangdd/p/5941281.html

 

 本文由用戶 zhouluxi 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!