scrapy redis分布式爬蟲總結

2021-09-27 08:20:31 字數 1310 閱讀 4742

1. 背景

2. 環境scrapy - redis 架構

專案型別 value

專案名:

items 儲存爬蟲獲取到的資料item 內容是 json 字串

專案名:

dupefilter 用於爬蟲訪問的url去重 內容是 40個字元的 url 的hash字串

專案名:

start_urls 用於獲取spider啟動時爬取的第乙個 url

專案名:

requests 用於scheduler排程處理 requests 內容是 request 物件的序列化 字串

scrapy - redis 常用配置

# 使用了scrapy_redis的去重組件,在redis資料庫裡做去重

dupefilter_class = "scrapy_redis.dupefilter.rfpdupefilter"

# 使用了scrapy_redis的排程器,在redis裡分配請求

scheduler = "scrapy_redis.scheduler.scheduler"

# 在redis中保持scrapy-redis用到的各個佇列,從而允許暫停和暫停後恢復,也就是不清理redis queues

scheduler_persist = true

# 通過配置redispipeline將item寫入key為 spider.name : items 的redis的list中,供後面的分

# 布式處理item 這個已經由 scrapy-redis 實現,不需要我們寫**,直接使用即可

item_pipelines =

# 指定redis資料庫的連線引數

redis_host = '127.0.0.1'

redis_port = 6379

scrapy - redis 簡單例項

在原來非分布式爬蟲的基礎上,使用 scrapy-redis 簡單搭建乙個分布式爬蟲,過程只需要修改下面文

件:start_url 已經不需要了,修改為: redis_key = 「***xx」

在 redis 資料庫中,設定乙個 redis_key 的值,作為初始的 url , scrapy 就會自動在redis 中取出 redis_key 的值,作為初始 url ,實現自動爬取。

新增起始url:

scrapy,redis分布式爬取貓眼電影!

能夠利用redis快取資料庫的優點去重來避免資料的大面積冗餘 1 首先就是要建立貓眼爬蟲專案 2 進入專案內部建立乙個爬蟲檔案 建立完檔案之後就是要爬取的內容,我這邊以爬取貓眼電影的title和link為例 這個完全看個人你可以先去寫爬蟲,然後再來寫items檔案 3 編寫item檔案 python...

10 給予scrapy redis的分布式爬蟲

pip install scrapy redis scrapy redis提供了兩種爬蟲 from scrapy redis.spiders import redisspider class myspider redisspider spider that reads urls from redis...

scrapy redis分布式爬蟲

依賴環境 scrapy 1.1 redis 2.8 分布式爬蟲 將乙個專案拷貝到多台電腦上,同時爬取資料。1.必須保證所有電腦上的 是相同的配置。2.在其中一台電腦上啟動redis和mysql的資料庫服務。3.同時將所有的爬蟲專案執行起來。4.在啟動redis和mysql資料庫的電腦上,向redis...