ここに問題があります:
- AのWebページでアイテムデータを見つけたら、Aのアウトリンクをたどって追加のアイテムデータを取得します。
- 追加のアイテムデータは、BおよびCのWebページにあります。
parse_b()
for B、 for Cがありparse_c()
ます(これらの2つの解析は、parse_A()のコールバックです)。このアイテムデータが完成した後。
それで、どちらparse()
のアイテムを返しますか?
https://github.com/darkrho/scrapy-inline-requestsに目を向けてください
このように見えます:
class FooSpider(BaseSpider):
@inline_request
def parse_a(self, response):
l = FooLoader()
l.add_value("A", "A")
b = yield Request(response.url + '/b)
l.add_value("B", b)
c = yield Request(response.url + '/c)
l.add_value("C", c)
yield l.load_item()
@inline_request
def parse_b(self, response):
# Doing what you want
return "B"
@inline_request
def parse_c(self, response):
# Doing what you want
return "C"