from_settingsだけ定義すると、Item Pipelineごして有効にならない。
下記のように、__init__でちゃんと定義し直す必要がある。
class MySQLStorePipeline(object):
@classmethod
def from_settings(cls, settings):
return cls(settings.get('DB_SETTING'))
def __init__(self, db_settings):
db.init_session(db_settings)
def process_item(self, item, spider):
shop = Shop(
brand_id=1,
name=item['name'],
address=item['address'])
db.db_session.add(shop)
db.db_session.commit()
return item