使用&#39; id&#39;查找<div>块和&#39;班级&#39;使用Nokogiri

时间:2017-01-08 17:22:24

标签: html ruby web-scraping nokogiri

如何使用Nokogiri搜索以下块:

<div id="live_list_cat_16" class="football-block sport-block" style="display:block;">
</div>

2 个答案:

答案 0 :(得分:0)

试试这个

doc.search('div#foo.bar')

这是如何运作的?

  • searchat方法都接受CSS查询
  • div#foo找到ID为foo
  • 的div
  • div.bar找到了一个类bar
  • 的div

答案 1 :(得分:0)

您可以使用#some_id作为CSS选择器。

require 'nokogiri'

doc = Nokogiri::HTML(<<EOT)
<html>
  <body>
    <div id="foo" class="bar">text</div>
    <div id="foo2" class="bar">more_text</div>
  </body>
</html>
EOT

doc.search('#foo').to_html # => "<div id=\"foo\" class=\"bar\">text</div>"
doc.search('div.bar').to_html # => "<div id=\"foo\" class=\"bar\">text</div><div id=\"foo2\" class=\"bar\">more_text</div>"

请记住,特定ID只允许在文档中存在一次。