redis 部署分佈式

準備工做

1.安裝scrapy_redis包,打開cmd工具,執行命令pip install scrapy_redismysql

2.準備好一個沒有BUG,沒有報錯的爬蟲項目redis

3.準備好redis主服務器還有跟程序相關的mysql數據庫sql

前提mysql數據庫要打開容許遠程鏈接,由於mysql安裝後root用戶默認只容許本地鏈接,詳情請看此文章數據庫

部署過程

 

1.修改爬蟲項目的settings文件

在下載的scrapy_redis包中,有一個scheduler.py文件,裏面有一個Scheduler類,是用來調度url,還有一個dupefilter.py文件,裏面有個類是RFPDupeFilter,是用來去重,因此要在settings任意位置文件中添加上它們安全

還有在scrapy_redis包中,有一個pipelines文件,裏面的RedisPipeline類能夠把爬蟲的數據寫入redis,更穩定安全,因此要在settings中啓動pipelines的地方啓動此pipeline服務器

最後修改redis鏈接配置scrapy

2.修改spider爬蟲文件

首先咱們要引入一個scrapy_redis.spider文件中的一個RedisSpider類,而後把spider爬蟲文件原來繼承的scrapy.Spider類改成引入的RedisSpider這個類分佈式

接着把原來的start_urls這句代碼註釋掉,加入redis_key = '自定義key值',通常以爬蟲名:urls命名ide

測試部署是否成功

直接運行咱們的項目,工具

打開redis客戶端在redis添加key爲yunqi:start_urls的列表,值爲地址

添加成功後,程序直接跑了起來

查看數據是否插入

分佈式用到的代碼應該是同一套代碼 1) 先把項目配置爲分佈式 2) 把項目拷貝到多臺服務器中 3) 把全部爬蟲項目都跑起來 4) 在主redis-cli中lpush你的網址便可 5) 效果:全部爬蟲都開始運行,而且數據還都不同

相關文章
相關標籤/搜索