gpt4 book ai didi

python - 无法使用 xpath 解析某些 html 元素中的某些信息

转载 作者:行者123 更新时间:2023-11-28 22:10:21 24 4
gpt4 key购买 nike

我创建了一个 xpath 表达式来定位一个元素,这样我就可以在 scrapy 中使用 xpath 从一些 html 元素中提取特定信息。反正我也够不着。

HTML 元素:

<div class="rates">
<label>
Rates :
</label>
R 3500
<br class="hidden-md hidden-lg">
</div>

我想提取 R 3500

我试过:

from scrapy import Selector

html = """
<div class="rates">
<label>
Rates :
</label>
R 3500
<br class="hidden-md hidden-lg">
</div>
"""
sel = Selector(text=html)
rate = sel.xpath("//*[@class='rates']/label/following::*").get()
print(rate)

运行上面的脚本后,这就是我得到的 <br class="hidden-md hidden-lg">而我希望得到 R 3500 .

我本可以使用 .tail如果选择 lxml .但是,当我去 scrapy 时,我找不到任何类似的东西。

我如何使用 xpath 从 html 元素中提取该速率?

最佳答案

label 节点之后获取 text 节点作为 following-sibling:

...
sel = Selector(text=html)
rate = sel.xpath("//*[@class='rates']/label/following-sibling::text()").get().strip()
print(rate)

输出:

R 3500

Addition:"//*[@class='rates']/label/following::text()" 也应该工作。

https://www.w3.org/TR/1999/REC-xpath-19991116#axes

关于python - 无法使用 xpath 解析某些 html 元素中的某些信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56871695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com