python - 仅当 div 类包含使用 xpath 的某个单词时才从 div 类中提取信息
问题描述
我正在尝试从以下网站https://www.rawson.co.za抓取信息
但是,有时,信息会改变它的位置。我正在努力仅检查“建筑物大小”并将其存储为大小,因为 div 类如下所示:
<div class="features__item">
<div class="features__icon icon-house" aria-hidden="true"></div>
<div class="features__label">Building Size 130m²</div>
</div>
我能够提取它,但有时它需要其他信息,因为该属性要么没有它,要么有其他东西在它的位置。
这就是我现在所拥有的尺寸(我正在从子/属性页面访问信息):
size = response.xpath("//div[@class='features']/div[@class='features__list']/div[@class='row']/div[@class='col col--1-2'][2]/div[@class='features__item'][1]/div[@class='features__label']/text()").re(r'\d+')[0]
我想要的是建筑尺寸信息(只有数字),如果它存在,如果没有可用的建筑尺寸,则放无。我正在努力处理 div 类中的文本部分。我试图构建一个 for 循环来检查它是否包含“建筑大小”,但还没有任何效果。任何帮助将不胜感激!谢谢!
解决方案
简单的:
size = response.xpath("//div[@class='features__label'][contains(., 'Building Size')]/text()").re_first(r'\d+')
推荐阅读
- firebase - 如何跨有状态小部件传递数据?
- javascript - Javascript - 等待来自服务器的推送通知以继续我的 JS
- python - 在带星号的字符串中搜索元音
- javascript - SyntaxError 怎么办?
- localhost - 查找 LocalHost 文件
- tableau-api - Tableau 从连接中检索数据时禁用 LIMIT 和别名
- macos - errno ENOTFOUND 在 Mac Os 中进行 Yarn 安装时
- sqlite - 由于 Flutter 中的模型文件,无法在 sqlite 数据库中插入值
- firebase - 注册用户未显示在 Firebase Firestore 中
- javascript - 刷新后保留网页更改