engine_started = object()
engine_stopped = object()
spider_opened = object()
spider_idle = object()
spider_closed = object()
spider_error = object()
request_scheduled = object()
request_dropped = object()
response_received = object()
response_downloaded = object()
item_scraped = object()
item_dropped = object()
# by luffycity.com
from scrapy import signals
class MyExtend(object):
def __init__(self):
pass
@classmethod
def from_crawler(cls, crawler):
self = cls()
crawler.signals.connect(self.x1, signal=signals.spider_opened)
crawler.signals.connect(self.x2, signal=signals.spider_closed)
return self
def x1(self, spider):
print('open')
def x2(self, spider):
print('close')
EXTENSIONS = {
# 'scrapy.extensions.telnet.TelnetConsole': None,
'xdb.ext.MyExtend':666,
}
from scrapy import signals
from scrapy.xlib.pydispatch import dispatcher
from scrapy import signals
def func():
pass
dispatcher.connect(func,signals.spider_closed)