将额外的值与url一起传递给scrapy蜘蛛

Zub*_*lam 6 python scrapy web-scraping python-2.7 scrapy-spider

我有一个元组列表(id,url)我需要从URL列表中抓取产品,当这些产品被抓取时,我需要将它们存储在他们的id下的数据库中.

问题是我无法理解如何将id传递给解析函数,以便我可以将已爬行的项目存储在其id下.

ale*_*cxe 14

初始化开始在URL中start_requests(),并通过idmeta:

class MySpider(Spider):
    mapping = [(1, 'my_url1'), (2, 'my_url2')]

    ...

    def start_requests(self):
        for id, url in self.mapping:
            yield Request(url, callback=self.parse_page, meta={'id': id})

    def parse_page(self, response):
        id = response.meta['id']
Run Code Online (Sandbox Code Playgroud)