我是新的刮,并希望检索数据从一个跨度,但他们没有一个类。
它们看起来像这样:
"<span content=\"3\">3 - 4 habitaciones</span>", "<span content=\"2\">2 baños</span>", "<span>Desde 89 m²</span>"
"<span content=\"4\">4 baños</span>", "<span>1.300 m²</span>"
"<span content=\"4\">4 baños</span>", "<span>1.300 m²</span>"
这是网站https://www.properati.com.ec/s/venta这是我试图刮scrap this info
有些人可能有所有的信息:
- habitaciones(房间),
- baños(浴室),
但有些没有,我想知道是否有一种方法,让每一个单独从刮阶段或如果我应该做一些魔术后
def parse(self, response):
for products in response.css('div.listing.listing-card'):
yield {
'name': products.css('div.listing-card__title::text').get(),
'location': products.css('div.listing-card__location::text').get(),
'link': products.css('div.listing.listing-card').attrib['data-href'],
'properties': products.css('span').getall()
}
这些产量
"name": "Casa en Venta en Calderón", "location": "Calderón, Quito, Pichincha", "link": "/detalle/14032-32-e7e7-1f62d773dd45-dc2fc640-b378-120d", "properties": ["<span content=\"3\">3 habitaciones</span>", "<span content=\"3\">3 baños</span>", "<span>152 m²</span>"]`
我希望属性更像房间*浴室和平方米**
1条答案
按热度按时间thigvfpy1#
当然,您可以为每个清单
div
迭代每个属性div
,然后您可以运行使用一些条件表达式来测试属性是否通过查看图标类描述来描述,然后使用图标描述中的键将文本添加到生成的字典中。例如:
或者,如果你想变得更聪明,你可以跳过if语句,直接提取属性divs图标类描述的键,以获得相同的结果:
输出: