【发布时间】:2014-03-18 09:14:43
【问题描述】:
我是 nokogiri 的新手,到目前为止最熟悉 CSS 选择器,我正在尝试从表格中解析信息,下面是表格的示例和我正在使用的代码,如果语句,因为它似乎返回了表的全部内容。
表:
<div class="holder">
<div class ="row">
<div class="c1">
<!-- Content I Don't need -->
</div>
<div class="c2">
<span class="data">
<!-- Content I Don't Need -->
<span class="data">
</div>
</div>
...
<div class="row">
<div class="c1">
SPECIFIC TEXT
</div>
<div class="c2">
<span class="data">
What I want
</span>
</div>
</div>
</div>
我的脚本:(如果在表中找到 SPECIFIC TEXT,它会返回每个“div.c2 span.data”变量 - 所以我要么搞砸了我对 do 循环或 if 语句的了解)
data = []
page.agent.get(url)
page.search('div.row').each do |row_data|
if (row_data.search('div.c1:contains("/SPECIFIC TEXT/")').text.strip
temp = row_data.search('div.c2 span.data').text.strip
data << temp
end
end
【问题讨论】:
-
当前输出为
<!--Content I Don't Need -->*n +What I want,预期输出为What I want -
是的..我明白了..请尝试以下解决方案
-
表格中是否有可能会有多个 SPECIFIC TEXT?还是您只寻找一场比赛?
-
我正在寻找一场比赛
标签: ruby parsing css-selectors nokogiri mechanize