Scrapy Pipeline memiliki open_spider metode yang akan dieksekusi setelah laba-laba diinisialisasi. Anda dapat meneruskan referensi ke koneksi database, metode get_date(), atau Pipeline itu sendiri, ke spider Anda. Contoh yang terakhir dengan kode Anda adalah:
# This is my Pipline
class MongoDBPipeline(object):
def __init__(self, mongodb_db=None, mongodb_collection=None):
self.connection = pymongo.Connection(settings['MONGODB_SERVER'], settings['MONGODB_PORT'])
....
def process_item(self, item, spider):
....
def get_date(self):
....
def open_spider(self, spider):
spider.myPipeline = self
Kemudian, di laba-laba:
class Spider(Spider):
name = "test"
def __init__(self):
self.myPipeline = None
def parse(self, response):
self.myPipeline.get_date()
Saya tidak berpikir __init__()
metode ini diperlukan di sini, tetapi saya meletakkannya di sini untuk menunjukkan bahwa open_spider menggantikannya setelah inisialisasi.