我正在学习Scrapy,并尝试使用add_css()填充我的商品。 我刮了https://www.zonaprop.com.ar/casas-venta-capital-federal.html 我想抓一些关于每个房子的信息。因此,我使用FOR循环遍历列表房屋(div.posting-card)。 我想用add_css()填充我的商品,但在这种情况下我不知道如何使用CSS?
为了清楚起见。
这是我之前没有add_css所做的:
for casa in response.css('div.posting-card'):
item = ZonapropItem()
item['name'] = casa.css(' a.go-to-posting::text').get()
item['direction'] = casa.css('span.posting-location.go-to-posting::text').get()
yield item
这就是我现在想做的方式:
item = ItemLoader(ZonapropItem(), response)
for casa in response.css('div.posting-card'):
item.add_css('name', '**SOME CSS**')
item.add_css('direction','**SOME CSS**')
yield item.load_item()
Thank you very much!
答案 0 :(得分:0)
您非常接近正确的答案:
for casa in response.css('div.posting-card'):
loader = ItemLoader(ZonapropItem(), casa)
loader.add_css('name', 'a.go-to-posting::text')
loader.add_css('direction','span.posting-location.go-to-posting::text')
yield loader.load_item()
只需在循环内部实例化项目加载器,然后在其中输入casa
选择器即可。