【发布时间】:2016-02-08 22:03:21
【问题描述】:
我在 Scrapy 上苦苦挣扎,我不明白在回调之间传递项目究竟是如何工作的。也许有人可以帮助我。
def parse_page1(self, response):
item = MyItem()
item['main_url'] = response.url
request = scrapy.Request("http://www.example.com/some_page.html",
callback=self.parse_page2)
request.meta['item'] = item
return request
def parse_page2(self, response):
item = response.meta['item']
item['other_url'] = response.url
return item
我正在逐步了解那里的操作流程:
[parse_page1]
-
item = MyItem() -
item['main_url'] = response.url -
request = scrapy.Request("http://www.example.com/some_page.html", callback=self.parse_page2)
[parse_page2]
-
item = response.meta['item'] -
item['other_url'] = response.url -
return item
[parse_page1]
-
request.meta['item'] = item -
return request
我浏览了有关 scrapy 和 request/response/meta 的所有文档,但我仍然不明白第 4 点和第 7 点发生了什么。
【问题讨论】: