Wenn nur from_settings definiert ist, ist dies über die Item-Pipeline nicht gültig. Sie müssen es mit init wie unten gezeigt neu definieren.
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
Recommended Posts