我正在使用 Python 和 Scrapy 来回答这个问题。
我正在尝试抓取网页A,其中包含指向网页B1、B2、B3、...的链接列表。每个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 的请求对象中“返回”值。)