2017-10-22 6 views
0

古いバージョンでは、次のコードでスパイダー(スパイダー名)のリストを取得できますが、現バージョン(1.4)では [py.warnings]という警告が表示されます。 -all-spiders.py:17:ScrapyDeprecationWarning:CrawlerRunner.spiders属性の名前がCrawlerRunner.spider_loaderに変更されました。 process.spiders.listでspider_nameため ():すべてのスパイダーを取得する

リスト私のプロジェクトで使用可能なすべてのクモ

使用crawler.spiders.list()

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

どのように私はクモのリストを取得することができます(および同等のクラス名)をScrapyで使用しますか?私はクモを実行するための私のユーティリティスクリプトでこれを使用してい

答えて

2

:あなたの場合

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] 

、それは警告メッセージにより示唆されるようspider_loaderspidersの名前を変更するために十分です。

関連する問題