V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
johnsonshu
V2EX  ›  问与答

scrapy 怎么管理大量的 spider 啊?

  •  
  •   johnsonshu · 2021-11-01 23:33:11 +08:00 · 1117 次点击
    这是一个创建于 1146 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设我写了 1000 个 spider, 我总不能都放在 spiders 目录下吧。 我肯定要进行目录分割:

       spiders/AAA 目录下放置 :spiderA01  spiderA02  ...
       spiders/BBB 目录下放置 :spiderB01  spiderB02  ...
       ...
    

    但是,当我用 scrapyd-deploy 配置到 scrapyd 服务器时, 这些工具只看 spiders 目录下的 spider(子目录被忽略),这样,我的分割完的 spider 就被忽视了。

    我该怎么解决这个问题 ?

    第 1 条附言  ·  2021-11-03 12:06:51 +08:00

    谢谢 @Kobayashi

    在 settins 里的这个设置里,加上spider 的各个子目录的模块名搞定了。

    另外,scrapyd-deploy 生成egg文件时用到了 setuptools 的 find_packages() 函数。 只有子目录里有 __init__.py 的目录才会被打包。 所以一股脑儿在各个目录下创建了 __init__.py

    (base) c:\_work\projs\python\scrapy01>scrapyd-deploy --debug -p scrapy01
    Packing version 1635911154
    Deploying to project "scrapy01" in http://ubuntu20-lts:6800/addversion.json
    Server response (200):
    {"node_name": "ubuntu20-lts", "status": "ok", "project": "scrapy01", "version": "1635911154", "spiders": 4}
    
    (base) c:\_work\projs\python\scrapy01>scrapyd-client spiders -p scrapy01
    scrapy01:
      ccpi
      quotes
      womenadvancenc
      yifymovies
    
    1 条回复    2021-11-02 05:26:37 +08:00
    Kobayashi
        1
    Kobayashi  
       2021-11-02 05:26:37 +08:00 via Android   ❤️ 1
    SPIDER_MODULES
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2548 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:17 · PVG 11:17 · LAX 19:17 · JFK 22:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.