1. 使用命令列工具下載工具包 scrapy_redis,在命令列敲下面程式碼並回車, 出現Success類字元表示下載成功
    在這裡插入圖片描述

  2. 使用pycharm 開啟專案,找到settings檔案,配置scrapy專案使用的
    排程器及過濾器! 這裡資料儲存到redis中可以不用儲存,(看自己意願)

在這裡插入圖片描述
在這裡插入圖片描述

  1. 修改spider爬蟲檔案, 這裡的redis_key在後面執行爬蟲命令時需要用到,要記住!from scrapy_redis.spiders import RedisSpider
    類需要繼承自RedisSpider(記的繼承!!!)
    把start_urls給註釋掉,設定一個redis_key
    在這裡插入圖片描述

  2. 如果連線的有遠端服務,例如MySQL,Redis等,需要將遠端服務連線開啟,
    保證其他主機能夠成功連線上,下圖是設定MySQL的方法,(作為主機時,從屬機能連線到主機的MySQL)
    在這裡插入圖片描述
    !!!切記 這裡設定完之後一定要重新整理許可權,否則還是會連線失敗。
    在這裡插入圖片描述

  3. 配置遠端連線的 MySQL 及 redis 地址
    (這裡的MySQL資料庫以及redis地址均為你的本機地址(redis預設埠為6379), 記得資料庫密碼正確!!!)如果不知道自己電腦的ip地址, 開啟cmd命令列工具, 輸入: ipconfig 即可查詢
    在這裡插入圖片描述
    注:分散式用到的程式碼應該是統一套程式碼!(大概為以下4步)

    1. 先把專案配置為分散式,2. 把專案拷貝到多臺伺服器中, 3. 把所有爬蟲專案都跑起來, 4. redis中lpush你的網址即可,。 效果: 所有爬蟲都開始執行,並且資料都不一樣。
      以上配置的爬蟲專案,下面是在cmd命令列準備執行爬蟲。設定redis!

redis的配置
redis屬於非關係型資料庫
1。修改配置檔案(找到redis下的redis.windows.conf 雙擊開啟,找到bind 並修改為0.0.0.0(這裡注意有一個為舉例的bind 看清楚不要修改錯誤))
在這裡插入圖片描述
在這裡插入圖片描述
當你的電腦作為主機時需要時刻開著redis服務,下面是開啟redis服務的配置
(1) 開啟cmd命令列 進入redis的安裝目錄,輸入redis-server.exe redis.windows.conf 回車。
如果出現bind:no error 如下圖2(在redis目錄下輸入redis-cli 回車 輸入shutdown 回車 輸入 exit退出)然後再重新輸入輸入redis-server.exe redis.windows.conf執行伺服器
在這裡插入圖片描述在這裡插入圖片描述
(2)主機開啟redis服務之後,不要斷開,切記!!! 進入redis安裝目錄,輸入:redis-cli.exe -h 主機(或者別人的)ip地址(-p 埠號6379(可以不用寫))用來測試是否可以遠端連線redis(如果回車之後沒有出現如圖效果,檢查自己的bind是否修改以及redis服務是否被自己關閉)出現如下表示可以遠端連線redis ,
在這裡插入圖片描述
(3) 檢視連線從屬機的個數, 主機輸入 info 確認是否連線成功,(這裡可以省略不寫,直接ctrl+c)
然後: ctrl+c

(4) 如果redis想訪問遠端的redis伺服器,需要接觸保護模式。(上一步如果連線別人的IP地址不出現上圖效果,先執行這一步,在執行上一步!!!)如下:
1)在遠端伺服器登陸redis-cli , 2)輸入命令:config set protected-mode “no” 回車
在這裡插入圖片描述
(5)接下來就是準備執行爬蟲專案, 現在爬蟲專案中執行爬蟲會開始等待。。。從屬機也開始執行爬蟲並等待。。。。
這個時候在cmd命令列中輸入: redis-cli 回車, 輸入lpush 會出現 : lpush key value [value …]
這裡的key 為reidis_key, value為起始地址, 如果想要發多個地址, 每個起始地址間空格隔開, 然後回車,出現下圖效果爬蟲就開始自動運行了。。
在這裡插入圖片描述

從屬機在執行主機分佈的爬蟲專案時需要連線到主機的資料庫:開啟MySQL資料庫- 點選連線選擇MySQL
在這裡插入圖片描述
注: 當你把程式碼發給從屬機, 從屬機執行程式碼時會等待直到你輸完
第(5)步命令,從屬機開始自動執行!!!

但是如果這個時候你發現從屬機或者主機在沒有你輸入程式碼就直接開始運行了:
開啟你的redis軟體,點選你的本地連線右鍵,Reload更新一下,並且檢查你的db0下面是否有請求request,
如果有的話直接刪除,再重新執行爬蟲就ok了!!