Scrapy基于scrapy_redis實(shí)現(xiàn)分布式爬蟲部署的示例
準(zhǔn)備工作
1.安裝scrapy_redis包,打開cmd工具,執(zhí)行命令pip install scrapy_redis
2.準(zhǔn)備好一個(gè)沒有BUG,沒有報(bào)錯(cuò)的爬蟲項(xiàng)目
3.準(zhǔn)備好redis主服務(wù)器還有跟程序相關(guān)的mysql數(shù)據(jù)庫(kù)
前提mysql數(shù)據(jù)庫(kù)要打開允許遠(yuǎn)程連接,因?yàn)閙ysql安裝后root用戶默認(rèn)只允許本地連接,詳情請(qǐng)看此文章
部署過(guò)程
1.修改爬蟲項(xiàng)目的settings文件
在下載的scrapy_redis包中,有一個(gè)scheduler.py文件,里面有一個(gè)Scheduler類,是用來(lái)調(diào)度url,還有一個(gè)dupefilter.py文件,里面有個(gè)類是RFPDupeFilter,是用來(lái)去重,所以要在settings任意位置文件中添加上它們
還有在scrapy_redis包中,有一個(gè)pipelines文件,里面的RedisPipeline類可以把爬蟲的數(shù)據(jù)寫入redis,更穩(wěn)定安全,所以要在settings中啟動(dòng)pipelines的地方啟動(dòng)此pipeline
最后修改redis連接配置
2.修改spider爬蟲文件
首先我們要引入一個(gè)scrapy_redis.spider文件中的一個(gè)RedisSpider類,然后把spider爬蟲文件原來(lái)繼承的scrapy.Spider類改為引入的RedisSpider這個(gè)類
接著把原來(lái)的start_urls這句代碼注釋掉,加入redis_key = '自定義key值',一般以爬蟲名:urls命名
測(cè)試部署是否成功
直接運(yùn)行我們的項(xiàng)目,
打開redis客戶端在redis添加key為yunqi:start_urls的列表,值為地址
添加成功后,程序直接跑了起來(lái)
查看數(shù)據(jù)是否插入
分布式用到的代碼應(yīng)該是同一套代碼
1) 先把項(xiàng)目配置為分布式
2) 把項(xiàng)目拷貝到多臺(tái)服務(wù)器中
3) 把所有爬蟲項(xiàng)目都跑起來(lái)
4) 在主redis-cli中l(wèi)push你的網(wǎng)址即可
5) 效果:所有爬蟲都開始運(yùn)行,并且數(shù)據(jù)還都不一樣
到此這篇關(guān)于Scrapy基于scrapy_redis實(shí)現(xiàn)分布式爬蟲部署的示例的文章就介紹到這了,更多相關(guān)Scrapy redis分布式爬蟲 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 相對(duì)路徑和絕對(duì)路徑及寫法演示
這篇文章主要介紹了Python 相對(duì)路徑絕對(duì)路徑的相關(guān)知識(shí),結(jié)合實(shí)例代碼介紹了Python 相對(duì)路徑、絕對(duì)路徑的寫法實(shí)例演示,需要的朋友可以參考下2023-02-02Python異常模塊traceback用法實(shí)例分析
這篇文章主要介紹了Python異常模塊traceback用法,結(jié)合實(shí)例形式分析了Python異常模塊traceback的基本功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-10-10python數(shù)據(jù)庫(kù)如何連接SQLite詳解
這篇文章主要介紹了Python實(shí)現(xiàn)連接SQLite數(shù)據(jù)庫(kù)的方法,在Python數(shù)據(jù)庫(kù)編程中有著廣泛的應(yīng)用,需要的朋友可以參考下,希望能給你帶來(lái)幫助2021-08-08python中字符串內(nèi)置函數(shù)的用法總結(jié)
這篇文章給大家總結(jié)了python中字符串內(nèi)置函數(shù)的用法以及相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友學(xué)習(xí)下。2018-09-09python?包之?APScheduler?定時(shí)任務(wù)
這篇文章主要介紹了python?包之?APScheduler?定時(shí)任務(wù),文章基于python的相關(guān)資料展開主題內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-04-04python利用platform模塊獲取系統(tǒng)信息
這篇文章主要介紹了python利用platform模塊獲取系統(tǒng)信息,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-10-10Python 安裝 virturalenv 虛擬環(huán)境的教程詳解
這篇文章主要介紹了Python 安裝 virturalenv 虛擬環(huán)境的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02django 簡(jiǎn)單實(shí)現(xiàn)登錄驗(yàn)證給你
這篇文章主要介紹了django 簡(jiǎn)單實(shí)現(xiàn)登錄驗(yàn)證給你,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11python檢測(cè)文件夾變化,并拷貝有更新的文件到對(duì)應(yīng)目錄的方法
今天小編就為大家分享一篇python檢測(cè)文件夾變化,并拷貝有更新的文件到對(duì)應(yīng)目錄的方法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10