
新建目录commands和文件crawlall.py
from scrapy.commands import ScrapyCommand
from scrapy.utils.project import get_project_settings
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()
配置文件增加配置
COMMANDS_MODULE="weather.commands"
命令执行
[root@AlexWong /]# scrapy crawlall
或者本地入口执行文件entrypoint.py
# 入口执行文件
from scrapy import cmdline
cmdline.execute(['scrapy', 'crawlall'])
该博客介绍了如何在Scrapy中创建一个名为crawlall的命令,用于一键运行项目中的所有蜘蛛。首先,通过继承ScrapyCommand并在crawlall.py中实现相关功能,然后在配置文件中设置COMMANDS_MODULE来注册此命令。最后,可以通过命令行或本地入口文件执行这个新命令,方便快捷地运行全部爬虫任务。
711

被折叠的 条评论
为什么被折叠?



