gpt4 book ai didi

ruby - 使用 Nokogiri 抓取内容时如何排除嵌套元素?

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:06 27 4
gpt4 key购买 nike

我有一个页面,内容与此类似:

<div id="level1">
<div id="level2">
<div id="level3">Crap i dont care about</div>
Here is some text i want
<br />
Here is some more text i want
<br />
Oh i want this text too :)
</div>
</div>

我的目标是捕获 #level2 中的文本但是 #level3 <div>嵌套在其中与我想要的文本处于同一级别。

是否有可能排除<div> ?我应该修改文档并在解析之前简单地删除元素吗?

最佳答案

require 'nokogiri'

xml = <<-XML
<div id="level1">
<div id="level2">
<div id="level3">Crap i dont care about</div>
Here is some text i want
<br />
Here is some more text i want
<br />
Oh i want this text too :)
</div>
</div>
XML

page = Nokogiri::XML(xml)
p page.xpath("//*[@id='level3']").remove.xpath("//*[@id='level2']").inner_text
# => "\n \n Here is some text i want\n \n Here is some more text i want\n \n Oh i want this text too :)\n "

现在,您可以根据需要清理输出文本。

关于ruby - 使用 Nokogiri 抓取内容时如何排除嵌套元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6670865/

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