在Scrapy中获取所有蜘蛛类名称

Yus*_*sef 1 python scrapy web-scraping

在旧版本中,我们可以使用以下代码获取蜘蛛列表(蜘蛛名称),但在当前版本(1.4)中我遇到 [py.warnings]警告:run-all-spiders.py:17:ScrapyDeprecationWarning:CrawlerRunner .spiders属性重命名为CrawlerRunner.spider_loader.for process.spiders.list()中的spider_name:

列出我项目中所有可用的蜘蛛

用途crawler.spiders.list():

[py.warnings] WARNING: run-all-spiders.py:17: ScrapyDeprecationWarning: CrawlerRunner.spiders attribute is renamed to CrawlerRunner.spider_loader.
for spider_name in process.spiders.list():
    # list all the available spiders in my project
Run Code Online (Sandbox Code Playgroud)

如何在Scrapy中获取蜘蛛列表(和等效的类名)?

Tom*_*art 7

我在我的实用程序脚本中使用它来运行蜘蛛:

from scrapy import spiderloader
from scrapy.utils import project

settings = project.get_project_settings()
spider_loader = spiderloader.SpiderLoader.from_settings(settings)
spiders = spider_loader.list()
classes = [spider_loader.load(name) for name in spiders]
Run Code Online (Sandbox Code Playgroud)

在你的情况下,它应该足够重命名spiders,以spider_loader通过警告消息的建议.