首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Nokogiri获取同一个<li>类下每个div标签的文本

如何使用Nokogiri获取同一个<li>类下每个div标签的文本
EN

Stack Overflow用户
提问于 2019-08-04 11:56:17
回答 1查看 59关注 0票数 1

我正在用Nokogiri (HTML/CSS)抓取食谱的成分。每种配料都在安莉的配料div下。现在,我的代码正在收集所有的成分,而不是在字符串中分隔。如何将每个li文本放入一个数组?

该网站有以下内容

代码语言:javascript
复制
<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>

我尝试这样做,试图解析它并将成分放入一个数组中。

代码语言:javascript
复制
ingredients = page.css("div.easyrecipe").each do |section|
      section.css("li.ingredient").text

我得到了这个"1汤匙地面flax3温水1/2杯拼写“

EN

回答 1

Stack Overflow用户

发布于 2019-12-06 23:05:50

首先,您的配料列表在div.easyrecipe中的div.ingredients中。

其次,您只需打印出每个部分的所有列表文本。而不是添加每个部分的文本。您想要添加每个配料的文本。

我会改为:

代码语言:javascript
复制
ingredients = page.css("div.easyrecipe").each do |section|
  section.css("li.ingredient").each do |ingredient|
    ingredient.text

结果是:

代码语言:javascript
复制
p ingredients
= ["1 tbsp ground flax","3 tbsp warm water","½ cup spelt"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57343672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档