我目前正在研究一个Scrapy项目,但有一个问题。我正在使用Amazon Linux从我的脚本Main.py调用的AWS EC2上运行多个Scrapy Spider。 Main.py的代码如下:
from XYZSpider.XYZ.spiders.XYZscout import XYZSpider
from MainSpider.ABC.spiders.ABCscout import ABCSpider
from twisted.internet import defer, reactor
spider_settings = [{
'BOT_NAME' : 'ABC',
'SPIDER_MODULES' : ['MainSpider.ABC.spiders'],
'NEWSPIDER_MODULE' : 'MainSpider.ABC.spiders',
'FEED_URI':'REv01/MainSpider/ABC.csv',
'FEED_FORMAT' : 'csv',
'LOG_LEVEL' : 'DEBUG'
},{
'BOT_NAME' : 'XYZ',
'SPIDER_MODULES' : ['XYZSpider.XYZ.spiders'],
'NEWSPIDER_MODULE' : 'XYZSpider.XYZ.spiders',
'FEED_URI' : 'REv01/XYZSpider/XYZ.csv',
'FEED_FORMAT' : 'csv',
'LOG_LEVEL' : 'DEBUG',
}]
spiders = [ABCSpider, XYZSpider]
process_1 = CrawlerRunner(spider_settings[0])
process_2 = CrawlerRunner(spider_settings[1])
@defer.inlineCallbacks
def crawl():
yield process_1.crawl(spiders[0])
yield process_2.crawl(spiders[1])
reactor.stop()
crawl()
reactor.run()
但是,我根本没有从这些Scrapy蜘蛛那里收到任何LOG-INFO,这很奇怪,因为当我从其中一个蜘蛛上进行print(“ TEST”)时,它将被打印到控制台。我怀疑这可能与twisted.internet有关,但我似乎找不到问题所在。 预先感谢您的帮助。
BR