如何使用Ruby提取网页内容?

时间:2016-02-07 19:02:43

标签: html ruby xml http nokogiri

例如,如果我想要检索George Clooney所在的电影,我会这样做:

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,但是当我运行程序时,我只是在终端中得到一个空行......所以没有实际发生的事情?我究竟做错了什么?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

这就是我以前获得的标题:

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 }