这里以添加执行所有的spider(蜘蛛)的命令为例:
1. 在spiders目录的同级目录下创建一个commands目录,并在该目录中创建一个crawlall.py,代码如下:
from scrapy.commands import ScrapyCommand
class Command(ScrapyCommand):
requires_project = True
def syntax(self):
return '[options]'
def short_desc(self):
return 'Runs all of the spiders'
def run(self, args, opts):
spider_list = self.crawler_process.spiders.list()
for name in spider_list:
self.crawler_process.crawl(name, **opts.__dict__)
self.crawler_process.start()
2. 还得在里面加个_init_.py文件
可以直接拷贝spliters 目录下面的_init_.py 文件,然后把里面的内容清空。
3. 到这里还没完,settings.py配置文件还需要加一条。
COMMANDS_MODULE = ‘项目名称.目录名称’
eg:COMMANDS_MODULE = 'xxx.commands'
4. 验证是否配置成功
可以先在命令行中进入该项目所在目录,并输入scrapy -h,可以查看是否有命令crawlall 。如果有,那就成功了,可以启动了。
参考文章:
https://blog.youkuaiyun.com/qq_38282706/article/details/80977576