xpath - 如何获取特定的 xpath 标记值
问题描述
<div class="container">
<span class="price">
<bdi> 140 </bdi>
</span>
<span class="price">
<del>
<bdi>90</bdi>
</del>
<ins>
<bdi> 120 </bdi>
</ins>
</span>
</div>
我想抓取一个 html 格式如下的网站。在这里,我不想 bdi 标记位于 del 标记下的值,而想要位于 span 类和 ins 标记下的 bdi 标记值。有什么办法可以解决吗?
解决方案
对你来说不是很平常的//span/ins/bdi/text()
工作吗?这是“哪个父母的文本<bdi>
是<ins>
哪个父母<span>
”?span>ins>bdi::text
我想CSS 变体也应该可以工作。
抱歉,没有注意到您需要两个值。在这种情况下.xpath('//bdi[not(parent::del)]/text()').extract()
会很好地工作。
推荐阅读
- .net - .NET 迁移默认为主数据库
- sql - SQL - FROM(子查询)和 WHERE - IN(子查询)之间的区别
- python - 有没有办法使用 pyopenssl 或密码学或任何其他库检查 CRL 编号和颁发者名称哈希?
- c++ - 为什么我不能推断出可变 lambda 的函数签名?
- awk - AWK,计数变量不返回 0
- c# - C# foreach 重复 300+ 次
- c# - C# Hashtable.cs 不是所有的素数
- django - 如何在 PostgreSQL 中使用 NULL 值强制唯一性
- ios - iOS 通用应用程序链接在模拟器上工作,而不是在真实设备上
- javascript - 我需要同时执行一个 css 动画和一个 Url.Action