サイトから情報を取得するためにnokogiriを使い始めたばかりですが、次のことを行う方法がわかりません。スクレイプしたいHTMLコードがあります。
<div class="compatible_vehicles">
<div class="heading">
<h3>Compatible Vehicles</h3>
</div><!-- .heading -->
<ul>
<li>
<p class="label">Type1</p>
<p class="data">All</p>
</li>
<li>
<p class="label">Type2</p>
<p class="data">All</p>
</li>
<li>
<p class="label">Type3</p>
<p class="data">All</p>
</li>
<li>
<p class="label">Type4</p>
<p class="data">All</p>
</li>
<li>
<p class="label">Type5</p>
<p class="data">All</p>
</li>
</ul>
</div><!-- .compatible_vehicles -->
そして、私はこれで私の画面に必要な出力を得ることができました:
i = 0
doc.css('div > .compatible_vehicles > ul > li').each do |item|
label = item.at_css(".label").text
data = item.at_css(".data").text
print "#{label} - #{data}" + ','
end
i += 1
これにより、次のようなリストが表示されます。画面上のType1-All、Type2-All、Type3-All、Type4-All、Type5-All。
次に、この値を配列で取得して、CSVファイルに保存できるようにします。私はいくつかのことを試しましたが、ほとんどの試みで「文字列を配列に変換できません」というエラーが発生します。誰かがこれで私を助けてくれることを願っています!