import scrapy class MyBaseSpider(scrapy.Spider): def __init__(self, name=None, **kwargs): # 這裏作了簡化 self.__dict__.update(kwargs) @classmethod def from_crawler(cls, crawler, *args, **kwargs): # 在scrapy裏是這樣定義的 spider = cls(*args, **kwargs) spider._set_crawler(crawler) return spider class TestSpider(MyBaseSpider): @classmethod def from_crawler(cls, crawler, *args, **kwargs): # 能夠直接加入_dic,在scrapy是這樣加入scrapy.settings到spider的屬性裏的 # 下面加了_dic進去 return cls(*args, **kwargs) _dic = {"a":1,"b":2,"c":3} t = TestSpider.from_crawler(crawler=None,**_dic) print(t.__dict__) # {'a': 1, 'b': 2, 'c': 3} print(t.a) # 1 print(t.b) # 2 print(t.c) # 3