我对nokogiri有疑问,我需要从页面获取HTML元素,并为每个元素获取xpath.问题是我无法意识到如何用nokogiri做到这一点.HTML代码是随机的,因为我要从不同的网站解析几个页面.
小智 5
如果您询问如何搜索节点,可以使用CSS或XPath表达式,如下所示:
require 'rubygems'
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open("http://slashdot.com/"))
node_found_by_css = doc.css("h1").first
node_found_by_xpath = doc.xpath("/html/body//h1").first
Run Code Online (Sandbox Code Playgroud)
如果你问的是,一旦你找到了一个节点,就可以为它检索规范的XPath表达式,你可以这样使用Node#path:
puts node_found_by_css.path # => "/html/body/div[3]/div[1]/div[1]/h1"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2976 次 |
| 最近记录: |