python: classmethod修饰符的使用以及在scrapy中的使用例子

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类实例。

通过该修饰符,类方法可以在不生成实例的啥情况下调用。

你可能感兴趣的:(爬虫,python)