没有Nokogiri的Ruby中的卷曲解析



可能重复:
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

相关内容

  • 没有找到相关文章

最新更新