刮痧:可以';在scrapy 2.1.0中不再定义bot名称
我有一个scrapy 2.1项目正在运行,在根目录下有两个文件夹。我的意图是有两个项目,分别机器人和设置除了一个全球性的设置 现在我试图定义项目名称,所以我使用了export命令。不幸的是,这以某种方式将bot名称更改为“scrapybot”,无法再次重命名:刮痧:可以';在scrapy 2.1.0中不再定义bot名称,scrapy,Scrapy,我有一个scrapy 2.1项目正在运行,在根目录下有两个文件夹。我的意图是有两个项目,分别机器人和设置除了一个全球性的设置 现在我试图定义项目名称,所以我使用了export命令。不幸的是,这以某种方式将bot名称更改为“scrapybot”,无法再次重命名: merlin@192-143-0-9 spider1 % export SCRAPY_PROJECT=bid merlin@192-143-0-9 spider1 % scrapy settings --get BOT_NAM
merlin@192-143-0-9 spider1 % export SCRAPY_PROJECT=bid
merlin@192-143-0-9 spider1 % scrapy settings --get BOT_NAME
scrapybot
该项目位于git回购协议中,并且处于git状态,它没有显示任何更改。由于重命名了项目,爬行器列表现在为空
这对我来说像个bug,所以我的主要问题是:
- 这是正常的
没有显示任何差异。您只是设置了一个环境变量git状态
将从settings.py文件中读取值,因此根据您所在的项目文件夹,它将为您提供“bid”或“scrapybot”scrapy settings
- 以下结构允许您在一个根目录下有多个scrapy项目,每个项目都有自己的设置和爬行器:
我在重新启动后得到了它,因为唯一的选择是它被保存在RAM中。然而,最初的问题仍然很有趣。我创建了一个文件夹,只需通过文件系统添加它。我猜这还不够,因为第二个项目中缺少init.py文件。如何在同一个根目录下创建第二个项目?只需遵循所述的目录结构,并确保scrapy.cfg得到更新(如此处文档中所述:)就足够了。我知道每个项目都需要中间件、管道、项目和蜘蛛。但这两个项目如何共享中间件?这就是他们同根的全部原因。根据我现在的理解,这是不可能的,因为如果我想部署一个项目,没有另一个项目,它将是不完整的。我说的对吗?是的,如果你想在蜘蛛之间共享中间件等,我认为你需要把这些蜘蛛放在同一个项目下。好的,谢谢你提供的信息。我现在将爬行器分离到不同根目录下的不同项目中。
root/
scrapy.cfg
bid/
__init__.py
items.py
middlewares.py
pipelines.py
settings.py
spiders/
bidspider.py
scrapybot/
__init__.py
items.py
middlewares.py
pipelines.py
settings.py
spiders/
scrapybotspider.py