master:
一、spider檔案
1.需要更改繼承的類
from scrapy_redis.spiders import RedisSpider
2.注釋掉start_urls
3.在爬蟲目錄下新建立一個redis_urls.py檔案,放所有的URL到redis資料庫的清單中
4.回到爬蟲檔案中,寫一個redis_key = '清單的key'
二.settings.py檔案
三.如果要解決scrapy-redis空跑問題
1.在項目目錄下,建立一個extensions.py檔案,寫如下代碼:
2.打開settings.py檔案中EXTENSIONS的注釋,将Telent的注釋掉,換上:
'項目名.extensions.RedisSpiderSmartIdleClosedExensions': 500,
3.配置settings.py檔案:
# 開啟擴充
MYEXT_ENABLED = True
# 每5秒就檢測一次,檢測10次(50秒),如果url還為空,那麼就結束爬蟲程式
IDLE_NUMBER = 10
slave配置:
前面都一樣
需要删除redis_urls檔案
settings.py的配置:
如果存到master的MongoDB資料庫,需要将host改成master的ip,資料庫改成master的,集合也改成master的
master端和slave端的代碼保持一緻(改完master端代碼後複制一份當成salve端的代碼),slave端需要更改以下:
1. redis_urls.py删掉
2. MongoDB資料庫的主機号改為master端的
注意:scrapy-redis存在空跑問題
開始連接配接:
嘗試連接配接mongo:mongo --host masterIP --port 27017
嘗試連接配接master的redis資料庫:redis-cli -h masterIP
master的redis資料庫配置檔案需要做如下更改:
1.将bind 127.0.0.1 注釋掉
2.将protected-mode yes 改為 protected-mode no