我在使用scrapy管道时遇到了一些麻烦。我的信息正在从网站上抓取,并且 process_item 方法被正确调用。但是没有调用 spider_opened 和 spider_closed 方法。
class MyPipeline(object):
def __init__(self):
log.msg("Initializing Pipeline")
self.conn = None
self.cur = None
def spider_opened(self, spider):
log.msg("Pipeline.spider_opened called", level=log.DEBUG)
def spider_closed(self, spider):
log.msg("Pipeline.spider_closed called", level=log.DEBUG)
def process_item(self, item, spider):
log.msg("Processsing item " + item['title'], level=log.DEBUG)
__init__
和日志消息都process_item
显示在日志中,但spider_open
和spider_close
日志消息不显示。
我需要使用 spider_opened 和 spider_closed 方法,因为我想使用它们来打开和关闭与数据库的连接,但它们的日志中没有显示任何内容。
如果有人有任何建议,那将非常有用。