MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

स्क्रैपी स्पाइडर में पाइपलाइन ऑब्जेक्ट कैसे प्राप्त करें

स्क्रैपी पाइपलाइन में एक open_spider होता है स्पाइडर प्रारंभ होने के बाद निष्पादित होने वाली विधि। आप अपने स्पाइडर को डेटाबेस कनेक्शन, get_date() विधि, या पाइपलाइन का संदर्भ पास कर सकते हैं। आपके कोड के साथ उत्तरार्द्ध का एक उदाहरण है:

# 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

फिर, मकड़ी में:

class Spider(Spider):
    name = "test"

    def __init__(self):
        self.myPipeline = None

    def parse(self, response):
        self.myPipeline.get_date()

मुझे नहीं लगता कि __init__() विधि यहाँ आवश्यक है, लेकिन मैंने इसे यहाँ यह दिखाने के लिए रखा है कि open_spider आरंभीकरण के बाद इसे बदल देता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. कई उप-दस्तावेज़ों को अद्यतन करने के लिए ArrayFilters के लिए Pymongo त्रुटि

  2. लिनक्स पर जर्नल फाइलों के लिए एरर मोंगॉड डेड लेकिन सबसिस लॉक और अपर्याप्त खाली जगह क्यों मिल रही है?

  3. Amazon वेब सेवाओं पर DIY क्लाउड डेटाबेस - नया श्वेतपत्र

  4. मोंगो फाइंड () फ़ंक्शन _id . को बाहर नहीं करेगा

  5. त्रुटि:बाल प्रक्रिया विफल, त्रुटि संख्या 1, mongodb . के साथ बाहर निकली