import pymongo
class MongoPipeline(object):
def __init__(self, mongo_uri, mongo_db):
self.mongo_uri = mongo_uri
self.mongo_db = mongo_db
@classmethod
def from_crawler(cls, crawler):
return cls(mongo_uri=crawler.settings.get('MONGO_URI'),
mongo_db=crawler.settings.get('MONGO_DB')
)
在以上代码中,classmethod修饰符用于获得crawler对象的设置属性,并且返回一个MongoPipeline类实例。
通过该修饰符,类方法可以在不生成实例的啥情况下调用。