2010-06-15 6 views
0

J'ai un script simple qui regarde le nom d'utilisateur Twitter et me donne l'emplacement. Mais certains du nom d'utilisateur n'existe pas et j'obtiens l'erreur:sauvetage Nokogiri erreur

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

J'ai essayé de le sauver, mais je ne peux pas le faire fonctionner. Quelqu'un peut-il aider? Merci

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 

Je dois aussi aider à sauver une autre erreur:

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

Merci.

Répondre

0

s'avère un simple sauvetage StandardError a fait l'affaire.

1

Guillemets doubles dans les guillemets doubles! Utilisez des guillemets simples pour l'appel à at_css():

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