नहीं कहा जा रहा है मुझे स्कैपी पाइपलाइन के साथ कुछ परेशानी हो रही है। मेरी जानकारी को फॉर्म साइट्स को स्क्रैप किया जा रहा है ठीक है और process_item विधि को सही तरीके से बुलाया जा रहा है। हालांकि स्पाइडर_ओपेन और स्पाइडर_क्लोज्ड विधियों को नहीं कहा जा रहा है।स्केपर पाइपलाइन स्पाइडर_ओपेन और स्पाइडर_क्लोस्ड
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
प्रवेश संदेशों लॉग में displyed हैं, लेकिन spider_open
और spider_close
प्रवेश संदेशों नहीं हैं।
मुझे स्पाइडर_ओपेन और स्पाइडर_क्लोज्ड विधियों का उपयोग करने की आवश्यकता है क्योंकि मैं उन्हें डेटाबेस से कनेक्शन खोलने और बंद करने के लिए उपयोग करना चाहता हूं, लेकिन उनके लिए लॉग में कुछ भी दिखाई नहीं दे रहा है।
यदि किसी ने भी सुझाव दिया है कि यह बहुत उपयोगी होगा।
आपके उत्तर के लिए धन्यवाद, लेकिन आपको 'प्रेषक' चर कहां मिलता है? और मैं इसे http://doc.scrapy.org/en/latest/topics/item-pipeline.html में कैसे नहीं ढूंढ सकता? :( – wrongusername
इसके लिए काम करने के लिए, आपको यह सुनिश्चित करना होगा कि आप निम्न चीज़ें आयात करें: 'scrapy.xlib.pydispatch आयात प्रेषक से ' स्केपर आयात सिग्नल से – herrherr