私は 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
そこから実際にブレークを変数に割り当てて、それらに 1 つずつアクセスできますが、どこに行けばいいのか、ここから正しい軌道に乗っているのかさえわからず、混乱しているように感じます点 :/