本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

scrapyd 镜像是一个基于 debian:bookworm 的 Docker 镜像,集成了 Scrapy 生态系统的多个最新稳定版工具,旨在提供便捷的环境用于部署和运行 Scrapy 爬虫。该镜像预安装了 8 个核心 Python 包,覆盖爬虫开发、部署、运行、监控、JavaScript 渲染等全流程需求,可作为 Scrapy 项目的基础镜像直接使用。
镜像包含以下最新稳定版 Python 包:
scrapyd-deploy 命令用于部署项目debian:bookworm以下 docker-compose.yml 定义了三个服务:scrapyd(后台服务)、scrapy(交互式开发)、scrapyrt(实时 API 服务):
version: "3.8" services: # Scrapyd 后台服务:部署和运行爬虫 scrapyd: image: easypi/scrapyd ports: - "6800:6800" # Scrapyd 默认端口 volumes: - ./data:/var/lib/scrapyd # 持久化存储爬虫数据(如 items、日志) - /usr/local/lib/python3.11/dist-packages # 挂载 Python 依赖(可选) restart: unless-stopped # Scrapy 交互式开发环境:用于编写和测试爬虫 scrapy: image: easypi/scrapyd command: bash # 启动交互式 shell volumes: - .:/code # 挂载本地项目代码 working_dir: /code # 工作目录设为项目根目录 restart: unless-stopped # Scrapyrt 实时 API 服务:为爬虫提供 HTTP 接口 scrapyrt: image: easypi/scrapyd command: scrapyrt -i 0.0.0.0 -p 9080 # 启动 scrapyrt,绑定所有接口和 9080 端口 ports: - "9080:9080" # Scrapyrt 默认端口 volumes: - .:/code # 挂载本地项目代码 working_dir: /code # 工作目录设为项目根目录 restart: unless-stopped
# 后台启动 scrapyd 服务 docker-compose up -d scrapyd # 查看服务日志 docker-compose logs -f scrapyd
准备开发环境(本地主机操作):
# 创建 Python 虚拟环境 mkvirtualenv -p python3 webbot # 安装 scrapy 和 scrapyd-client(用于部署) pip install scrapy scrapyd-client # 创建 Scrapy 项目 scrapy startproject myproject cd myproject # 将项目关联到虚拟环境(可选) setvirtualenvproject # 生成示例爬虫 scrapy genspider myspider mydomain.com # 编辑爬虫代码(按需修改) scrapy edit myspider # 验证爬虫列表 scrapy list
配置部署参数:编辑项目根目录下的 scrapy.cfg:
[settings] default = myproject.settings # 项目默认配置 [deploy] url = http://localhost:6800/ # Scrapyd 服务地址(与 docker-compose 映射一致) project = myproject # 项目名称
部署项目到 Scrapyd:
# 部署项目 scrapyd-client deploy # 调度爬虫运行 curl http://localhost:6800/schedule.json -d project=myproject -d spider=myspider
访问 Scrapyd 管理界面:打开浏览器访问 http://localhost:6800,可查看爬虫状态、调度任务等。
获取爬取结果:
# 从容器中复制爬取的 items 数据到本地 docker cp scrapyd_scrapyd_1:/var/lib/scrapyd/items . # 查看数据文件结构 tree items # 示例输出: # items # └── myproject # └── myspider # └── ad6153ee5b0711e68bc70242ac110005.jl # 爬取结果文件(JSON Lines 格式)
用于快速测试单文件爬虫脚本,无需完整项目结构。
创建爬虫脚本(本地主机操作):
cat > stackoverflow_spider.py << _EOF_ import scrapy class StackOverflowSpider(scrapy.Spider): name = 'stackoverflow' start_urls = ['[***]] def parse(self, response): # 提取问题链接并跟进 for href in response.css('.question-summary h3 a::attr(href)'): full_url = response.urljoin(href.extract()) yield scrapy.Request(full_url, callback=self.parse_question) def parse_question(self, response): # 提取问题详情并输出 yield { 'title': response.css('h1 a::text').extract()[0], 'votes': response.css('.question div[itemprop="upvoteCount"]::text').extract()[0], 'body': response.css('.question .postcell').extract()[0], 'tags': response.css('.question .post-tag::text').extract(), 'link': response.url, } _EOF_
启动交互式 Shell 并运行爬虫:
# 启动 scrapy 服务的交互式 shell docker-compose run --rm scrapy # 在容器内执行爬虫(输出结果到 JSON Lines 文件) scrapy runspider stackoverflow_spider.py -o top-stackoverflow-questions.jl # 查看爬取结果 cat top-stackoverflow-questions.jl # 退出容器 exit
Scrapyrt 可为现有 Scrapy 项目提供 HTTP API,支持通过 URL 直接触发爬虫。
准备示例项目(本地主机操作):
# 克隆 Scrapy 官方示例项目(quotesbot) git clone [***] .
启动 Scrapyrt 服务:
docker-compose up -d scrapyrt
通过 HTTP API 触发爬虫:
# 调用 scrapyrt API 爬取指定页面(需安装 jq 解析 JSON) curl -s 'http://localhost:9080/crawl.json?spider_name=toscrape-css&callback=parse&url=http://quotes.toscrape.com/&max_requests=5' | jq -c '.items[]'
debian:bookworm免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429