使用Hpricot / Nokogiri解析/迭代html文件

时间:2011-07-22 12:18:07

标签: ruby html-parsing nokogiri hpricot

我正在尝试使用以下格式解析HTML文件:

    <div style="something">
      <div class="link">
         <a href="http://..." class="headline">Headline</a>
      </div>
      <div class="text">
         Text summary is here
      </div>
      repeating...
   </div>

我想输出标题后跟文字。

   HEADLINE
   Text goes here.

   HEADLINE
   Text goes here.

目前我可以搜索&lt;一个&GT;使用class =“headline”标记并获取列表并对文本div执行相同操作。然后迭代每个按顺序输出标题和文本。

我可以让Hpricot / Nokogiri在解析文件时按顺序保存吗?

1 个答案:

答案 0 :(得分:2)

不确定

doc = Nokogiri::HTML(html)
doc.xpath('//a[@class="headline"]').each do |headline|
  puts headline.text
  puts headline.xpath('../following-sibling::div[1]').text
end