如何使用 Ruby 提取网页内容?
How can I extract the contents of a web page with Ruby?
例如,如果我想检索乔治·克鲁尼出演过的电影,我会这样做:
require 'net/http'
require 'nokogiri'
require 'rubygems'
PAGE_URL = "http://www.imdb.com/name/nm0000123" # url for george clooneys profile on imdb
page = Nokogiri::XML(open(PAGE_URL))
puts page.xpath("/html/body/div[1]/div/div[4]/div[3]/div[3]/div[3]/div[3]/div[2]/div[2]").to_s
我在其中使用 FireBug 提取了 xpath,但是当我 运行 程序时,我只是在终端中得到一个空白行...所以实际上什么也没有发生?我究竟做错了什么?或者有更好的方法吗?
这是我用来获得标题的:
require 'nokogiri'
require 'open-uri'
PAGE_URL = "http://www.imdb.com/name/nm0000123"
page = Nokogiri::XML(open(PAGE_URL))
page.css("div.filmo-category-section b a").each { |movie| puts movie.text }
例如,如果我想检索乔治·克鲁尼出演过的电影,我会这样做:
require 'net/http'
require 'nokogiri'
require 'rubygems'
PAGE_URL = "http://www.imdb.com/name/nm0000123" # url for george clooneys profile on imdb
page = Nokogiri::XML(open(PAGE_URL))
puts page.xpath("/html/body/div[1]/div/div[4]/div[3]/div[3]/div[3]/div[3]/div[2]/div[2]").to_s
我在其中使用 FireBug 提取了 xpath,但是当我 运行 程序时,我只是在终端中得到一个空白行...所以实际上什么也没有发生?我究竟做错了什么?或者有更好的方法吗?
这是我用来获得标题的:
require 'nokogiri'
require 'open-uri'
PAGE_URL = "http://www.imdb.com/name/nm0000123"
page = Nokogiri::XML(open(PAGE_URL))
page.css("div.filmo-category-section b a").each { |movie| puts movie.text }