如何在 ruby nokogiri 中的两个 div 之间获取文本?
How to get text between two divs in ruby nokogiri?
我想解析两个 horizontal_lines 之间的文本。
应该是这条横线第一和第二之间的文字。
我想用rubygem'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
更多方面:
link到站点:Православный календарь 2016
页面的有趣部分(我想得到)在 div
和 id="block777"
a 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>
- 我想遍历页面然后获取内容,直到到达下一个 horizontal_line。
试试这个
between = doc.at('#block777').children
.drop_while { |each| each.to_s !~ /line.gif/ }
.drop(1)
.take_while { |each| each.to_s !~ /line.gif/ }
这将跳过子项直到找到第一行,然后跳过该行,然后获取所有子项直到找到另一行。
我想解析两个 horizontal_lines 之间的文本。
应该是这条横线第一和第二之间的文字。
我想用rubygem'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
更多方面:
link到站点:Православный календарь 2016
页面的有趣部分(我想得到)在
div
和id="block777"
a 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>
- 我想遍历页面然后获取内容,直到到达下一个 horizontal_line。
试试这个
between = doc.at('#block777').children
.drop_while { |each| each.to_s !~ /line.gif/ }
.drop(1)
.take_while { |each| each.to_s !~ /line.gif/ }
这将跳过子项直到找到第一行,然后跳过该行,然后获取所有子项直到找到另一行。