scrapinghub-stack-scrapy 是一个包含最新 Scrapy 框架及更新依赖项的软件栈镜像,旨在为 Scrapy 爬虫开发和运行提供稳定、统一的环境。该镜像通过分支和标签管理,支持不同 Python 版本(2 和 3)及 Scrapy 版本的组合,确保用户可按需选择适配的运行环境。
仓库通过分支维护不同 Python 版本和 Scrapy 版本的软件栈,分支命名规则为 branch-<scrapy版本>[-py3],其中:
-py3 后缀:基于 Python 2 的分支-py3 后缀:基于 Python 3 的分支示例:
branch-1.0:Python 2 + Scrapy 1.0branch-1.1:Python 2 + Scrapy 1.1branch-1.1-py3:Python 3 + Scrapy 1.1使用 Git 标签标记镜像版本,所有标签对应 Docker 镜像可在 Docker Hub 查看。标签类型及说明如下:
格式:<scrapy版本>[-py3]
用于标识基于特定 Scrapy 版本和 Python 版本的主版本,无 -py3 后缀表示 Python 2。
示例:
1.0:Python 2 + Scrapy 1.01.1:Python 2 + Scrapy 1.11.1-py3:Python 3 + Scrapy 1.1格式:<scrapy版本>[-py3]-<发布日期>
每个正式发布的稳定版本均带日期标识,强烈推荐使用此类标签,避免版本变更风险。
示例:
1.1-20160429:2016-04-29 发布的 Python 2 + Scrapy 1.1 版本1.1-py3-20160804:2016-08-04 发布的 Python 3 + Scrapy 1.1 版本格式:<scrapy版本>[-py3]-latest
自动从对应分支构建(如 branch-1.1-py3 对应 1.1-py3-latest),反映分支最新变更,可能不稳定,禁止在生产环境使用。
示例:
1.0-latest(对应 branch-1.0)1.1-py3-latest(对应 branch-1.1-py3)格式:<scrapy版本>[-py3]-<特性名称>
用于开发和测试新功能,功能稳定后会被移除,不应依赖此类标签。
示例:1.1-py3-some-feature
从 Docker Hub 拉取指定版本的镜像,推荐使用带发布日期的稳定标签:
bash# 拉取 Python 3 + Scrapy 1.1 稳定版本(2016-08-04发布) docker pull scrapinghub/scrapinghub-stack-scrapy:1.1-py3-20160804
运行容器时,通常需挂载本地 Scrapy 项目目录,并执行爬虫命令。以下为基本示例:
bash# 假设本地项目目录为 ./my-scrapy-project,运行名为 myspider 的爬虫 docker run -v $(pwd)/my-scrapy-project:/app \ scrapinghub/scrapinghub-stack-scrapy:1.1-py3-20160804 \ scrapy crawl myspider -s LOG_LEVEL=INFO
说明:
-v $(pwd)/my-scrapy-project:/app:将本地项目目录挂载到容器内 /app 路径scrapy crawl myspider:执行 Scrapy 爬虫命令,可添加额外参数(如 -s 设置配置)对于复杂项目,可使用 docker-compose.yml 管理服务(如需数据库等依赖):
yamlversion: '3' services: scrapy: image: scrapinghub/scrapinghub-stack-scrapy:1.1-py3-20160804 volumes: - ./my-scrapy-project:/app command: scrapy crawl myspider -s LOG_LEVEL=INFO # 如需网络或环境变量配置,可添加相应字段 # environment: # - PROXY_URL=[***] # network_mode: "host"
运行:docker-compose up
如需发布新版本镜像,需按以下步骤操作:
确保本地分支为待发布分支,并拉取远程最新变更:
bashgit pull origin <branch> # 示例:拉取 Python 3 + Scrapy 1.1 分支 git pull origin branch-1.1-py3
根据版本规则创建标签,包括主版本标签和带日期的稳定版本标签(-latest 标签由分支自动构建,无需手动创建):
bash# 创建主版本标签(如 1.1-py3) git tag -f 1.1-py3 # 创建带日期的稳定版本标签(如 1.1-py3-20160804) git tag 1.1-py3-20160804
同时推送分支更新和标签,触发构建流程:
bashgit push -f origin <branch> <tag1> <tag2> # 示例:推送分支及两个标签 git push -f origin branch-1.1-py3 1.1-py3 1.1-py3-20160804
注意:需确保标签与分支更新同时推送,否则可能无法触发自动构建,需手动在构建平台重新触发。
检查标签是否在以下平台更新:
除 Python 2/3 等不兼容场景外,新功能需同步更新到所有版本分支,确保各版本功能一致性。

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429