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

どのバージョンのスクレイピーを使用していますか? シグナル API は約 7 か月前に変更され、0.15 以降に影響します。

于 2012-10-09T10:21:51.607 に答える
0

私は現在スクレイピーで遊んでいますが、これまで標準出力に奇妙な問題がありました。'wtf'2 のログを記録してみましたか? すなわち

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