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