7

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

问题是我不明白如何将 id 传递给解析函数,以便我可以将抓取的项目存储在他们的 id 下。

4

1 回答 1

15

初始化起始网址并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']
于 2014-05-16T14:02:25.233 回答