0
Scrapy версии 0.19ScrapyDeprecationWaring: `` искатель `` команды по умолчанию устарел и будет удален. Используйте `метод create_crawler` для создания экземпляра Краулеров
Я использую код на этой странице (Run multiple scrapy spiders at once using scrapyd). Когда я бегу scrapy allcrawl
, я получил
ScrapyDeprecationWaring: Command's default `crawler` is deprecated and will be removed. Use `create_crawler` method to instantiate crawlers
Вот код:
from scrapy.command import ScrapyCommand
import urllib
import urllib2
from scrapy import log
class AllCrawlCommand(ScrapyCommand):
requires_project = True
default_settings = {'LOG_ENABLED': False}
def short_desc(self):
return "Schedule a run for all available spiders"
def run(self, args, opts):
url = 'http://localhost:6800/schedule.json'
for s in self.crawler.spiders.list(): #this line raise the warning
values = {'project' : 'YOUR_PROJECT_NAME', 'spider' : s}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
log.msg(response)
Как исправить DeprecationWarning?
Благодаря
Он бросает AttributeError: объект 'CrawlerProcess' не имеет атрибута 'create_crawler' в Scrapy 1.0.3. Как это исправить? – Ashish
@Ashish Паук-загрузчик выставляется на 'self.crawler_process.spider_loader', поэтому вы можете вызвать' .list() 'непосредственно на этом объекте. – Rolando