我想解析两个horizontal_lines之间的文本。
它应该是该水平线的第一个和第二个之间的文本。
我想使用ruby gem' nokogiri',不一定使用xpath。
url = "http://calendar.rop.ru/?idd=167"
page = Nokogiri::HTML(open(url), nil, 'utf-8' )
我(失败)尝试:
我想到了一个迭代来找到div中第二行的第一个蚂蚁,id =" block777"
i=2 # because from then on the 1.st line starts
until /src=\"img\/line.gif\"/ =~ extract
i += 1; extract = page.xpath('//div[@id="block777"]/div[position()='+i.to_s+']').inner_html`
puts extract
更多方面:
指向该网站的链接:Православный календарь 2016
页面的有趣部分(我想知道)位于div
id="block777"
horizontal_line在此html文本中:
<div style="border:0px solid silver; width:100%; height:10px; margin:2px;"><img src="img/line.gif" style="width:100%; height:1px; margin-top:4px;"></div>
答案 0 :(得分:1)
试试这个
between = doc.at('#block777').children
.drop_while { |each| each.to_s !~ /line.gif/ }
.drop(1)
.take_while { |each| each.to_s !~ /line.gif/ }
这会跳过子项,直到找到第一行,然后跳过该行,然后获取所有子项,直到找到另一行。