基於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。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM