1. 程式人生 > >scrapy-redis分散式爬蟲

scrapy-redis分散式爬蟲

準備工作 1.安裝scrapy_redis包,開啟cmd工具,執行命令pip install scrapy_redis

2.準備好一個沒有BUG,沒有報錯的爬蟲專案

3.準備好redis主伺服器還有跟程式相關的mysql資料庫

前提mysql資料庫要開啟允許遠端連線,因為mysql安裝後root使用者預設只允許本地連線,詳情請看此文章

部署過程 1.修改爬蟲專案的settings檔案 在下載的scrapy_redis包中,有一個scheduler.py檔案,裡面有一個Scheduler類,是用來排程url,還有一個dupefilter.py檔案,裡面有個類是RFPDupeFilter,是用來去重,所以要在settings任意位置檔案中新增上它們

還有在scrapy_redis包中,有一個pipelines檔案,裡面的RedisPipeline類可以把爬蟲的資料寫入redis,更穩定安全,所以要在settings中啟動pipelines的地方啟動此pipeline

最後修改redis連線配置

2.修改spider爬蟲檔案 首先我們要引入一個scrapy_redis.spider檔案中的一個RedisSpider類,然後把spider爬蟲檔案原來繼承的scrapy.Spider類改為引入的RedisSpider這個類

接著把原來的start_urls這句程式碼註釋掉,加入redis_key = '自定義key值',一般以爬蟲名:urls命名

測試部署是否成功 直接執行我們的專案,

開啟redis客戶端在redis新增key為yunqi:start_urls的列表,值為地址

新增成功後,程式直接跑了起來

檢視資料是否插入

分散式用到的程式碼應該是同一套程式碼 1) 先把專案配置為分散式 2) 把專案拷貝到多臺伺服器中 3) 把所有爬蟲專案都跑起來 4) 在主redis-cli中lpush你的網址即可 5) 效果:所有爬蟲都開始執行,並且資料還都不一樣 ---------------------  作者:CHZZBECK  來源:CSDN  原文:https://blog.csdn.net/baoshuowl/article/details/79701303  版權宣告:本文為博主原創文章,轉載請附上博文連結!