分布式爬蟲
1) 在爬蟲的
settings.py
中新增下面兩句話
# enables scheduling storing requests queue in redis.
scheduler = "scrapy_redis.scheduler.scheduler"
# ensure all spiders share same duplicates filter through redis.
dupefilter_class = "scrapy_redis.dupefilter.rfpdupefilter"
2) 在item_pipeline中新增下面一句話
'scrapy_redis.pipelines.redispipeline': 300
在settings
.py中新增下面一句話,用於配置redis
redis_url = 'redis:'(自己的ip位址,redis預設埠是6379)
修改爬蟲的類檔案
from scrapy_redis.spiders import redisspider
類需要繼承自redisspider
把start_urls給注釋掉
新增下面一句
redis_key = '(專案名稱):start_urls'
分布式用到的**應該是同一套**
1) 先把專案配置為分布式
2) 把專案拷貝到多台伺服器中
3) 把所有爬蟲專案都跑起來
4) 在redis中lpush你的**即可
5) 效果:所有爬蟲都開始執行,並且資料還都不一樣
建立資料庫使用者(使用者許可權為 % 讓從伺服器能訪問該資料庫,注意:sql語句 % 兩端需要加 引號):
grant all privileges on *.* to zhangsan@'%' identified by '123456';
重新整理資料庫許可權
flush privileges;
設定redis主從
讓從伺服器連線:
命令:lpush redis_key的值 **
爬蟲 分布式爬蟲
爬蟲的本質 很多搞爬蟲的總愛吹噓分布式爬蟲,彷彿只有分布式才有逼格,不是分布式簡直不配叫爬蟲,這是一種很膚淺的思想。分布式只是提高爬蟲功能和效率的乙個環節而已,它從來不是爬蟲的本質東西。爬蟲的本質是網路請求和資料處理,如何穩定地訪問網頁拿到資料,如何精準地提取出高質量的資料才是核心問題。分布式爬蟲只...
分布式爬蟲
乙個基於scrapy redis的分布式爬蟲模板,在scrapy redis自帶的example的基礎上進行修改,新增在實際爬取過程中大部分爬蟲可能用到的功能,使的構建分布式爬蟲更加的簡單。scrapy redis windows ubuntu sudo apt get install redis ...
分布式爬蟲
修改普通爬蟲專案為分布式爬蟲 1.主爬蟲檔案myspider.py 做如下修改,其他不做修改 import scrapy from items import myitem 匯入資料模型 from scrapy redis.spiders import redisspider 匯入scrapy red...