gpt4 book ai didi

python - 如何通过先前 xpath 搜索的结果执行 lxml xpath 搜索?

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:04 24 4
gpt4 key购买 nike

如果您运行以下 Python 代码,您会注意到它会打印整个文档中的所有 标记引用,而它应该只打印 1。

如何使用 xpath 首先)搜索文章标签,然后)搜索其中的链接?

from lxml import html

source = '''
<body>
<a href='www.google.com'>outside 1</a>

<article class='art'>
<a href='www.google.com'>inside 1</a>
</article>

<article class='art'>
<a href='www.google.com'>inside 2</a>
</article>

<a href='www.google.com'>outside 2</a>
</body>
'''

tree_html = html.fromstring(source)
articles = tree_html.xpath('//article')
first_articles_a_text = articles[0].xpath('//a')

print first_articles_a_text

输出:

[<Element a at 0x47b05e8>, <Element a at 0x47b0598>, <Element a at 0x47b07c8>, <Element a at 0x47b0818>]

注意:我在 SO 或在线的任何地方都找不到类似的答案。如果我错过了,请原谅我。

最佳答案

以点开头 xpath 表达式。这将使其在元素的范围内搜索:

first_articles_a_text = articles[0].xpath('.//a')

另请参阅:

关于python - 如何通过先前 xpath 搜索的结果执行 lxml xpath 搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25517358/

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