scrapy爬蟲docker部署

spider_docker

接我上篇博客,爲爬蟲引用建立container,包括的模塊:scrapy, mongo, celery, rabbitmq,鏈接https://github.com/LiuRoy/spider_dockerpython

建立image

進入spider_docker目錄,執行命令:git

docker build --rm -t zhihu_spider src/github

運行完成後,執行docker iamges就能夠看到生成的imagedocker

 

生成container

在另外一個項目zhihu_spider中有一個docker-compose.yml文件,能夠參考配置:bash

dev:
    image: zhihu_spider

    volumes:
        - ./:/zhihu_spider
        - ../data:/data/db
    ports:
        - "20000:27017"
        - "20001:15672"
    privileged: true
    tty: true
    stdin_open: true
    restart: always

以zhihu_spider爲例,進入最上層目錄後,執行docker-compose up命令。 異步

zhihu_spider目錄映射爲docker中的/zhihu_spider,zhihu_spider統計目錄data映射爲/data/db用做mongo的數據存儲。container中的mongo範文端口映射到本機的20000,rabbitmq映射爲本地的20001端口。scrapy

執行爬蟲

執行命令docker exec -it zhihuspider_dev_1 /bin/bash便可進入bash。async

啓動mongo

編輯/etc/mongod.conf文件,將綁定ip地址從127.0.0.0改成0.0.0.0,並重啓mongod進程。k執行下面命令重啓mongo服務ide

mongod --shutdown
mongod --config /etc/mongod.config

若是要在本機訪問container中的數據,鏈接配置以下: ui

ip和port爲映射後的ip和port。

啓動rabbitmq

啓動命令以下,訪問方式同mongo

rabbitmq-plugins enable rabbitmq_management
rabbitmq-server &

啓動爬蟲

  1. 進入zhihu_spider/zhihu目錄,啓動異步任務 celery -A zhihu.tools.async worker --loglevel=info
  2. 啓動爬蟲 python main.py

結果顯示

篩選出女性,並按關注的人絲數降序排列 

相關文章
相關標籤/搜索