【发布时间】:2012-09-28 08:58:40
【问题描述】:
我正在尝试使用 Nokogiri 和 Ruby 解析一些 HTML,但在做我想做的事情时遇到了一些麻烦。我的示例文件如下所示:
<div id="main-body">
<p>
<span>First Text</span>
<span>Second Text</span>
<span>Third Text</span>
<span>Fourth Text</span>
<br>
<span>Fifth Text</span>
<span>Sixth Text</span>
<span>Seventh Text</span>
<br>
<span>Eight Text</span>
<span>Ninth Text</span>
<br>
</p>
</div
我正在尝试找到一种方法来遍历并仅选择随机中断标记之间或第一次中断之前的文本。
基本上我想让我的输出每次都不同。所以示例输出将是例如
=>First Text
=>Second Text
=>Third Text
=>Fourth Text
那么一次,也许下一次它会在休息 2 和 3 之间得到东西
=>Eight Text
=>Ninth Text
我在想,如果我可以计算 HTML 中的中断数,我可以使用 rand() 随机选择一个并打印出文本,直到我点击下一个,但我无法完全理解正确。
到目前为止,我的代码是将整个页面加载到 Nokogiri 类型并尝试从那里解析。
doc = Nokogiri::HTML(open(targeturl))
puts doc.xpath("./br").length #gives me the count of break tags in the document
从那里我实际上可以将中断分配给一个变量并逐个访问它们,但我不知道该去哪里,或者我什至从这里走在正确的轨道上,我觉得我只是感到困惑我自己在这一点上:/
【问题讨论】: