0

我看到了这个问题,也看到了这个问题,但是管道上的官方 Scrapy 页面没有提及信号。

这是我到目前为止的代码:

import sqlite3
import datetime
from scrapy import signals
from scrapy.xlib.pydispatch import dispatcher
from scrapy import log

class Sqlite3StorePipeline(object):
    def __init__(self):
        print 'wtf'
        dispatcher.connect(self.open_spider, signals.spider_opened)
        dispatcher.connect(self.close_spider, signals.spider_closed)

    def open_spider(self, spider):
        print 'wtf2'
        ...

当我使用命令运行我的蜘蛛时scrapy crawl <spider name>,我只看到“wtf”而不是“wtf2”正在输出。

我怎样才能让我的open_spider函数被调用?

4

2 回答 2

0

我现在正在玩scrapy,到目前为止,我在标准输出方面遇到了奇怪的问题。你试过记录'wtf'2吗?IE

    def open_spider(self,spider):
        spider.log('wtf2 from spider %s' % spider.name)
于 2012-10-09T00:23:16.213 回答
0

你用的是哪个版本的scrapy?信号 API大约在 7 个月前更改,影响 0.15 及更高版本。

于 2012-10-09T10:21:51.607 回答