我正在从脚本运行Scrapy 1.3蜘蛛,我遵循推荐的做法
configure_logging({'LOG_LEVEL': 'INFO'})
process = CrawlerProcess()
process.crawl(MySpider)
process.start()
我还在settings.py中设置LOG_LEVEL以防万一
LOG_LEVEL = 'WARNING'
但Scrapy忽略它并在日志上打印DEBUG。 我没有在其他地方定义日志记录。
答案 0 :(得分:3)
From the docs,我认为您正在将CrawlerRunner
示例与CrawlerProcess
示例混合在一起。这是CrawlerRunner
的一个:
...
configure_logging({'LOG_FORMAT': '%(levelname)s: %(message)s'})
runner = CrawlerRunner()
d = runner.crawl(MySpider)
d.addBoth(lambda _: reactor.stop())
reactor.run() # the script will block here until the crawling is finished
与需要传递某些设置的CrawlerProcess()
相反,例如在文档中提及(例如来自文档的示例,包括您的LOG_LEVEL
设置):
...
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
'LOG_LEVEL': 'INFO',
})
process.crawl(MySpider)
process.start() # the script will block here until the crawling is finished