dockerはscrapy爬虫ノードを構築し、単一サーバの分散を実現する

1428 ワード

docker+scrapy+redis爬虫ノード
  • scrapyベースミラー
  • を作成
  • scrapyベースミラーによるscrapy:v 1.0自分の爬虫類プロジェクトミラーを作成する
  • もちろんscrapy:v 1に従ってもよい.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-v 1ディレクトリにDockerfileファイル、HtmlParserが含まれています.py util.pyなど自分でカプセル化した解析ファイルに必要なツールパッケージは、ミラーを生成するときにpython環境に
  • に追加されます.
  • scrapy-v 1に入る次のコマンドdocker build -t scrapy:v1.0 .
  • を実行する.
    scrapyベースミラーによるscrapy:v 1.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:v 1に基づいてもよい.0ミラーリング直接実行コンテナ複数のコンテナキャプチャデータを実現
    具体的な操作は自分の実際の状況に応じて一時的な空白を実現することができる.