docker+scrapy+redis 爬蟲節點
-
-
- 建立scrapy的基礎鏡像
- 根據scrapy基礎鏡像scrapy:v1.0 建立自己的爬蟲項目鏡像
- 當然可以根據scrapy:v1.0 鏡像直接運作容器實作多個容器抓取資料
-
建立scrapy的基礎鏡像
可以根據自己的實際需求建立一個scrapy鏡像,上傳到自己的雲端或者本地。
以下是我根據自己的場景建立的scrapy的基礎鏡像
- 拉取 python:3.5鏡像
docker pull python:3.5
- 建立scrapy鏡像的Dockerfile 内容如下
FROM python:3.5
ADD . /usr/local/lib/python3.5
# 安裝自己需要的包
RUN pip install scrapy && pip install pymongo &&\
pip install redis && pip install requests && pip install scrapy-redis
-
建立一個目錄我在這裡命名為 scrapy-v1
目錄裡包含 Dockerfile 檔案 ,HtmlParser.py util.py 等自己封裝的解析檔案需要的工具包,生成鏡像時添加到python環境中
- 進入scrapy-v1 執行 以下指令
docker build -t scrapy:v1.0 .
根據scrapy基礎鏡像scrapy:v1.0 建立自己的爬蟲項目鏡像
- 建立爬蟲項目的鏡像Dockerfile
FROM scrapy:v1.0
ADD . /work # 添加爬蟲項目到鏡像中
WORKDIR /work/spider_test/spdider_test/spiders
CMD scrapy runspider test.py
- 生成爬蟲項目鏡像, 步驟同上
docker build -t myspider:v1.0 -f Dockerfile .
- 運作容器
docker run -d --name master myspider:v1.0
可以開啟多個容器抓取資料實作分布式docker run -d --name slaver myspider:v1.0
當然可以根據scrapy:v1.0 鏡像直接運作容器實作多個容器抓取資料
具體操作可以根據自己的實際情況來實作
暫時空白