1

nokogiri について疑問があります。ページから HTML 要素を取得し、それぞれの xpath を取得する必要があります。問題は、ノコギリのやり方がわからないことです。さまざまな Web サイトからいくつかのページを解析する必要があるため、HTML コードはランダムです。

4

2 に答える 2

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

ノードを見つけたら、その正規の XPath 式を取得する方法を尋ねている場合は、次のNode#pathように使用できます。

puts node_found_by_css.path # => "/html/body/div[3]/div[1]/div[1]/h1"
于 2009-06-03T02:42:24.483 に答える
0

ページ内の各 HTML 要素の XPath を取得する方法を知りたい場合は、次の方法が役に立ちます。これにより、ページが開いて解析され、各要素の XPath が出力されます。

require 'rubygems'
require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open("http://slashdot.com/"))
doc.traverse {|node| puts node.path }
于 2010-04-03T13:52:41.503 に答える