使用Scrapy基于scrapy_redis實現(xiàn)分布式爬蟲部署?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
專業(yè)領域包括成都網(wǎng)站設計、網(wǎng)站建設、商城建設、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設計及系統(tǒng)開發(fā)公司不同,成都創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡品牌建設經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。準備工作
1.安裝scrapy_redis包,打開cmd工具,執(zhí)行命令pip install scrapy_redis
2.準備好一個沒有BUG,沒有報錯的爬蟲項目
3.準備好redis主服務器還有跟程序相關的mysql數(shù)據(jù)庫
前提mysql數(shù)據(jù)庫要打開允許遠程連接,因為mysql安裝后root用戶默認只允許本地連接,詳情請看此文章
部署過程
1.修改爬蟲項目的settings文件
在下載的scrapy_redis包中,有一個scheduler.py文件,里面有一個Scheduler類,是用來調(diào)度url,還有一個dupefilter.py文件,里面有個類是RFPDupeFilter,是用來去重,所以要在settings任意位置文件中添加上它們
還有在scrapy_redis包中,有一個pipelines文件,里面的RedisPipeline類可以把爬蟲的數(shù)據(jù)寫入redis,更穩(wěn)定安全,所以要在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的列表,值為地址
添加成功后,程序直接跑了起來
查看數(shù)據(jù)是否插入
分布式用到的代碼應該是同一套代碼
1) 先把項目配置為分布式
2) 把項目拷貝到多臺服務器中
3) 把所有爬蟲項目都跑起來
4) 在主redis-cli中l(wèi)push你的網(wǎng)址即可
5) 效果:所有爬蟲都開始運行,并且數(shù)據(jù)還都不一樣
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。