How to pass parameter to a scrapy pipeline object

后端 未结 3 802
遇见更好的自我
遇见更好的自我 2021-01-03 05:30

After scraping some data with a Scrapy spider:

class Test_Spider(Spider):

    name = "test"
    def start_requests(self):
        for i in range(90         


        
3条回答
  •  长情又很酷
    2021-01-03 05:58

    class SQLlitePipeline(object):
    
        def __init__(self, table_name):
    
            _engine = create_engine("sqlite:///data.db")
            _connection = _engine.connect()
            _metadata = MetaData()
            _stack_items = Table(table_name, _metadata,
                                 Column("id", Integer, primary_key=True),
                                 Column("detail_url", Text),
            _metadata.create_all(_engine)
            self.connection = _connection
            self.stack_items = _stack_items
    
        @classmethod
        def from_crawler(cls, crawler):
            table_name = getattr(crawler.spider, 'table_name')
            return cls(table_name)
    

    With from_crawler you can create or instantiate a pipeline object with the parameters you specify.

提交回复
热议问题