可能重复:
ruby 中的简单解析
我正在尝试验证网站中的标题,经过一些尝试和错误,我发现这可以通过使用nokogiri和rest客户端在ruby中完成
require 'nokogiri'
require 'rest-client'
page = Nokogiri::HTML(RestClient.get("http:/#{user.username}.domain.com/"))
simian = page.at_css("title").text
if simian == "Welcome to"
puts "default monkey"
else
puts "website updated"
end
不幸的是,对于大量网站来说,当它返回时,这似乎并不总是有效的RestClient::InternalServerError at/admin/users/list500内部服务器错误
我想知道是否有任何选择可以通过简单地使用mycurl=%x(卷曲http://........)通过解析标题而不使用任何gem,或者curl选项可以直接与nokogiri一起使用,有什么有效的方法可以使用它?感谢
在阅读了你的问题后,你真的不确定你是否已经掌握了这两个宝石,这里有另一种可能更简单的方法。
require 'open-uri'
url="http://google.com"
source = open(url).read
source[/<title>(.*)</title>, 1]
这有两部分。一个是获取页面,另一个是解析。对于获取,你并不真正需要rest-client
gem,而标准库中的open-uri
就可以了。Nokogiri会进行解析,这可能不是你的问题。试试这个:
require 'open-uri'
require 'nokogiri'
page = Nokogiri::HTML(open('http://example.com/'))
puts page.at('title').text