2017-10-22 1 views
0

in der älteren Version konnten wir die Liste der Spider (Spider-Namen) mit folgendem Code, aber in der aktuellen Version (1.4) ich konfrontiert mit [py.warnings] Warnung: run -all-spiders.py:17: ScrapyDeprecationWarning: Das CrawlerRunner.spiders-Attribut wurde in CrawlerRunner.spider_loader umbenannt. für spider_name in process.spiders.list():Get All Spiders Klassenname in Scrapy

Liste alle verfügbaren Spinnen in meinem Projekt

Verwendung crawler.spiders.list():

>>> for spider_name in crawler.spiders.list(): 
...  print(spider_name) 

Wie kann ich Spinnen Liste bekommen (und äquivalente Klassennamen) in Scrapy?

Antwort

2

Ich verwende in meinem Utility Skript für die Ausführung von Spinnen:

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] 

In Ihrem Fall soll es spiders-spider_loader umbenennen genügen, wie durch die Warnmeldung vorgeschlagen.