我在表单中列出了元组列表(id,url) 我需要从网址列表中抓取产品,当这些产品被抓取时,我需要将它们存储在其ID下的数据库中。
问题是我无法理解如何将id传递给parse函数,以便我可以将已爬行的项目存储在其id下。
答案 0 :(得分:14)
在start_requests()
初始化初始网址并在meta
中传递id
:
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']