xpath - 我可以用nokogiri获取html元素吗?

标签 xpath nokogiri elements

我对nokogiri有疑问,我需要从页面获取HTML元素,并获取每个元素的xpath。问题是我无法意识到如何使用nokogiri。 HTML代码是随机的,因为我必须解析来自不同网站的多个页面。

最佳答案

如果您询问如何搜索节点,则可以使用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


如果您询问如何找到一个节点,就可以为其检索规范的XPath表达式,则可以像下面这样使用Node#path

puts node_found_by_css.path # => "/html/body/div[3]/div[1]/div[1]/h1"

关于xpath - 我可以用nokogiri获取html元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936232/

相关文章:

ruby - 使用 Nokogiri 获取具有命名空间的属性值

html - 抓取时如何避免加入来自节点的所有文本

javascript - 通过Id获取多个元素

arrays - Powershell验证我的数组元素类型

php - 如何提取html注释和node包含的所有html?

javascript - 将textNode内容转换为字符串

xml - 如何在xQuery中获取没有 child 的节点?

ruby-on-rails - Fedora16 gem install nokogiri 失败

r - 在 R 中的数据框列中使用向量

xpath - 循环遍历 Watir 中的一组 div