救援Nokogiri错误

时间:2010-06-15 19:05:20

标签: ruby-on-rails nokogiri rescue

我有一个简单的脚本,它会查看Twitter用户名并获取我的位置。但是有些用户名不存在,我收到错误:

/usr/lib/ruby/1.8/open-uri.rb:277:in `open_http': 404 Not Found (OpenURI::HTTPError)

我试图拯救它,但我不能让它发挥作用。有人可以帮忙吗?感谢

a = []
my_file = File.new("location.txt", 'a+')

File.open('address.txt', 'r') do |f|
while line = f.gets

 url = "http://twitter.com/#{line}"
 doc = Nokogiri::HTML(open(url, 'User-Agent' => 'ruby'))
 doc.css("#side #profile").each do |loc|
   my_file.puts "http://twitter.com/#{line} #{loc.at_css(".adr").text}"
   puts line
 end
 end
end

我还需要帮助来解救另一个错误:

twitter.rb:14: undefined method `text' for nil:NilClass (NoMethodError)

感谢。

2 个答案:

答案 0 :(得分:1)

其他双引号内的双引号!使用单引号调用at_css():

my_file.puts "http://twitter.com/#{line} #{loc.at_css('.adr').text}"

答案 1 :(得分:0)

原来简单的救援StandardError做了这个伎俩。