六枝特区建设局网站,手机编程软件有哪些,个人网站建设模板,局域网视频网站建设crawlab
单节点docker安装
此处介绍的是单节点的方式#xff0c;多节点的情况可以把爬虫上传到一个节点中#xff0c;之后会同步到其它节点上
version: 3.3
services:master:image: crawlabteam/crawlabcontainer_name: crawlab_masterrestart: alwaysenvironment:CRAWLAB…crawlab
单节点docker安装
此处介绍的是单节点的方式多节点的情况可以把爬虫上传到一个节点中之后会同步到其它节点上
version: 3.3
services:master:image: crawlabteam/crawlabcontainer_name: crawlab_masterrestart: alwaysenvironment:CRAWLAB_NODE_MASTER: Y # Y: 主节点CRAWLAB_MONGO_HOST: mongo # mongo host address. 在 Docker-Compose 网络中直接引用 service 名称CRAWLAB_MONGO_PORT: 27017 # mongo port CRAWLAB_MONGO_DB: crawlab # mongo database CRAWLAB_MONGO_USERNAME: username # mongo usernameCRAWLAB_MONGO_PASSWORD: password # mongo password CRAWLAB_MONGO_AUTHSOURCE: admin # mongo auth source volumes:- ./master:/data # 持久化 crawlab 数据master是win中的相对目录ports:- 8080:8080 # 开放 api 端口depends_on:- mongomongo:image: mongo:4.2restart: alwaysenvironment:MONGO_INITDB_ROOT_USERNAME: username # mongo usernameMONGO_INITDB_ROOT_PASSWORD: password # mongo passwordvolumes:- /opt/crawlab/mongo/data/db:/data/db # 持久化 mongo 数据ports:- 27017:27017 # 开放 mongo 端口到宿主机docker-compose up -d运行访问localhost:8080用户密码均为admin
上传爬虫
此处上传一个爬取图片的简单爬虫上传requirements.txt或者package.json文件crawlab会自动扫描并安装依赖但是如果存在多版本依赖的话还没尝试希望大神知道的留言告知。 爬虫是一个下载美女图片的爬虫进入到crawlab的终端中执行pip3 list 可以看到安装的包其中常见的如requests、parsel都已经安装了
// ceshi.py
import requests
import parsel
import os
os.mkdir(/data/aa)
for page in range(1, 2):print(f-------正在爬取第{page}页----------)sub_url if page 1 else _ str(page)url fhttps://pic.netbian.com/4kmeinv/index{sub_url}.htmlif not os.path.exists(/data/aa/ f第{page}页):os.mkdir(/data/aa/ f第{page}页)response requests.get(urlurl)response.encoding gbkdata_html response.textselector parsel.Selector(data_html)a_href_list selector.css(#main div.slist ul li a::attr(href)).getall() # 获取每个图片的urlfor a_href in a_href_list:a_href https://pic.netbian.com a_hrefresponse_1 requests.get(a_href)selector_1 parsel.Selector(response_1.text) # 每个图片的网页链接img selector_1.css(#main div div div a img::attr(src)).getall()[0] # 照片的urldownload_url https://pic.netbian.com/ imgtitle img.split(/)[-1]download requests.get(download_url).contentwith open(f/data/aa/第{page}页/{title}, modewb)as f:f.write(download)print(title, 下载完成)print(f第{page}页全部下载完成)图片下载到data目录下而data又通过docker映射到了本机的master目录中 填写如下
总结
简单的用了下感觉crawlab很好用能把多个爬虫方便的管理起来还有cron的功能当作脚本管理也很不错