この質問には Python と Scrapy を使用しています。
Web ページB1、B2、B3、...へのリンクのリストを含むWeb ページAをクロールしようとしています。各Bページには、画像を含む別のページC1、C2、C3、...へのリンクが含まれています。
したがって、Scrapy を使用すると、疑似コードのアイデアは次のようになります。
links = getlinks(A)
for link in links:
B = getpage(link)
C = getpage(B)
image = getimage(C)
ただし、Scrapy で複数のページを解析しようとすると、問題が発生します。これが私のコードです:
def parse(self, response):
hxs = HtmlXPathSelector(response)
links = hxs.select('...')
items = []
for link in links:
item = CustomItem()
item['name'] = link.select('...')
# TODO: Somehow I need to go two pages deep and extract an image.
item['image'] = ....
どうすればこれを行うことができますか?
(注: 私の質問は、Scrapy のプロジェクトで複数のスパイダーを使用することに似ていますが、Scrapy の Request オブジェクトから値を「返す」方法がわかりません。)