scrapy爬蟲docker部署


spider_docker

接我上篇博客,為爬蟲引用創建container,包括的模塊:scrapy, mongo, celery, rabbitmq,連接https://github.com/LiuRoy/spider_docker

創建image

進入spider_docker目錄,執行命令:

docker build --rm -t zhihu_spider src/

運行完成后,執行docker iamges就可以看到生成的image

 

生成container

在另一個項目zhihu_spider中有一個docker-compose.yml文件,可以參考配置:

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端口。

執行爬蟲

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

啟動mongo

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

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

如果要在本機訪問container中的數據,連接配置如下: 

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

結果顯示

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM