我正在用Nokogiri (HTML/CSS)抓取食谱的成分。每种配料都在安莉的配料div下。现在,我的代码正在收集所有的成分,而不是在字符串中分隔。如何将每个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汤匙地面flax3温水1/2杯拼写“
发布于 2019-12-06 23:05:50
首先,您的配料列表在div.easyrecipe中的div.ingredients中。
其次,您只需打印出每个部分的所有列表文本。而不是添加每个部分的文本。您想要添加每个配料的文本。
我会改为:
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"]https://stackoverflow.com/questions/57343672
复制相似问题