You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scrapinghub多Spider部署失败求助,附本地正常运行的Scrapy-MongoDB代码

解决Scrapinghub部署多Spider失败的问题

看起来你遇到的问题主要是本地批量运行Spider的代码和Scrapinghub的运行机制冲突,加上代码里的语法错误导致的。我来一步步帮你解决:

问题根源分析

  1. 你写的CrawlerProcess和CrawlersArray是本地用来批量启动多个Spider的代码,但Scrapinghub(现在叫Scrapy Cloud)的运行逻辑是每个Spider单独调度执行,不需要你在代码里手动批量启动,这段代码会干扰平台对Spider的识别。
  2. 代码片段里的MoviesSpider类定义不完整(class MoviesSpider(scrapy.Spider): nam),语法错误会直接导致部署失败。
  3. 可能存在Spider导入路径或者项目结构不符合Scrapy规范的问题,导致平台无法正确识别所有Spider。

具体修复步骤

1. 移除本地批量运行的代码

把这些只适合本地测试的代码删掉:

# scrapy api imports
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
# Spider数组:将Spider加入数组
CrawlersArray = [ Madou ]

这些代码在Scrapinghub平台上完全不需要,平台会自动识别项目里的所有Spider。

2. 修复Spider的语法错误

补全MoviesSpider类的定义,确保每个Spider都有唯一的name属性(Scrapy强制要求):

class MoviesSpider(scrapy.Spider):
    name = "movies"  # 必须设置唯一的Spider名称
    allowed_domains = ["你的目标域名"]  # 可选,建议加上
    start_urls = ["你的起始URL"]  # 可选,或者用start_requests方法

    def parse(self, response):
        # 你的解析逻辑
        pass

3. 规范Spider的项目结构

确保你的项目符合标准Scrapy结构,这样Scrapinghub才能正确识别所有Spider:

你的项目根目录/
    scrapy.cfg  # Scrapy自动生成的配置文件
    Tainan/  # 你的项目模块
        __init__.py
        items.py
        pipelines.py
        settings.py
        spiders/  # 所有Spider必须放在这个目录下
            __init__.py
            madou.py  # 这里放Madou Spider类
            movies.py  # 这里放MoviesSpider类
            # 其他Spider文件...

同时修正Spider的导入路径,比如在需要的地方导入Madou应该用:

from Tainan.spiders.madou import Madou

4. 正确部署到Scrapinghub

确保你用官方的shub工具部署:

  • 先安装shub:pip install shub
  • 登录你的Scrapinghub账号:shub login(输入你的API密钥,在Scrapinghub控制面板里可以找到)
  • 进入项目根目录,执行部署命令:shub deploy

部署完成后,你就能在Scrapinghub的控制面板里看到所有的Spider,然后可以单独调度每个Spider运行了。

额外注意事项

  • 确保settings.py里的MongoDB配置正确,并且Scrapinghub的环境能访问到你的MongoDB实例(如果是本地MongoDB,需要改成公网可访问的,或者用MongoDB Atlas这类云端服务)。
  • 所有Spider的name属性必须唯一,不能重复,否则会导致识别错误。

内容的提问来源于stack exchange,提问作者Morton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:24:04