gpt4 book ai didi

html - 使用 xmllint 获取特定元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:49 27 4
gpt4 key购买 nike

考虑文件 example.html

中的以下 HTML 代码
<!DOCTYPE html>
<head>
<meta charset="utf-8">

<body>
<div class="container">
<h1>
<a href="/">
<img src="/images/image.png"/>
</a>
</h1>
<ul>
<li><a href="/" >link1<br /><span>content</span></a></li>
<li><a href="/folder" >link2<br /><span>more contend</span></a></li>
</ul>
</div><!-- .container -->
<div class="container">
<ul class="disc">
<li><strong>no interest 1</strong></li>
<li><strong>no interest 2</strong></li>
<li><strong>no interest 3</strong></li>
<li>keyword1: <strong>unkown_content</strong></li>
<li>keyword2: <strong>unkown_content</strong></li>
</ul>
</div><!-- .container -->
<div class="container">
<ul class="disc">
<li><a href="/folder1">not interested</a></li>
<li><a href="/folder2">not interested</a></li>
<li><a href="/folder3">not interested</a></li>
<li>keyword1: <strong>unkown_content</strong></li>
<li>keyword2: <strong>unkown_content</strong></li>
</ul>
</div><!-- .container -->
</body>
</html>

我想在第二个 keyword1 之后获取 unkown_content。我有尝试过

xmllint --html --xpath "//li[text()='keyword1: ']" example.html 2>/dev/null
<li>keyword1: <strong>unkown_content</strong></li><li>keyword1: <strong>unkown_content</strong></li>

如您所见,这将返回带有 keyword1 的两个节点。如何获取最后一次出现的内容?

最佳答案

尝试 xmllint --html --xpath "(//li[text()='keyword1: '])[last()]"example.html 2>/dev/null

请注意添加的 [last()] - 它指向最后一次出现的 //li[text()='keyword1: ']//li[text()='keyword1: '] 周围的大括号也是必需的,因为 [last()] 应用于节点集。

关于html - 使用 xmllint 获取特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39288935/

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