我正在用Nokogiri(HTML / CSS)刮擦食谱的成分。每个成分在成分div下的li中。现在,我的代码正在收集所有成分,而不会将它们分成字符串。如何将每个li文本放入数组中?
该站点有此
<div class="easyrecipe">
<div class="ingredients">
<ul>
<li class="ingredient" itemprop="recipeIngredient"> 1 tbsp flax</l>
<li class="ingredient" itemprop="recipeIngredient"> 3 tbsp water</l>
<li class="ingredient" itemprop="recipeIngredient"> ½ cup spelt</l>
</ul>
我试图通过此方法来解析它并将成分放入数组中
ingredients = page.css("div.easyrecipe").each do |section|
section.css("li.ingredient").text
我正在得到这个“ 1汤匙亚麻碎粉3汤匙温水½杯拼字”
首先,您的配料表在div.ingredients
内的div.easyrecipe
之内。
第二,您只是打印出每个部分的所有列表文本。而不是添加每个部分的文本。您要添加每种成分的文本。
我改为将其更改为:
ingredients = page.css("div.easyrecipe").each do |section|
section.css("li.ingredient").each do |ingredient|
ingredient.text
结果:
p ingredients
= ["1 tbsp ground flax","3 tbsp warm water","½ cup spelt"]