Я пытаюсь загрузить изображения из Twitter, но при использовании user_agent_alias
происходит сбой. Мне нужно указать пользовательский агент. Но почему это происходит с использованием псевдонима агента? Это нормально?
Попробуйте сами с блоком { |agent| agent.user_agent_alias = 'Mac Safari'}
и без него:
require "mechanize"
agent = Mechanize.new { |agent| agent.user_agent_alias = 'Mac Safari'}
doc = agent.get("http://www.twitter.com")
doc.images
Трассировка ошибки:
ArgumentError: bad argument (expected URI object or URI string)
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/uri/generic.rb:1202:in `rescue in merge'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/uri/generic.rb:1199:in `merge'
from /Users/luccasmaso/.rvm/gems/ruby-1.9.3-p392/gems/mechanize-2.6.0/lib/mechanize/page/image.rb:165:in `url'
from /Users/luccasmaso/.rvm/gems/ruby-1.9.3-p392/gems/mechanize-2.6.0/lib/mechanize/page/image.rb:125:in `block in pretty_print'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:217:in `block (2 levels) in group'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:243:in `nest'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:216:in `block in group'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:228:in `group_sub'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:215:in `group'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/pp.rb:164:in `object_group'
from /Users/luccasmaso/.rvm/gems/ruby-1.9.3-p392/gems/mechanize-2.6.0/lib/mechanize/page/image.rb:124:in `pretty_print'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/pp.rb:154:in `block in pp'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:217:in `block (2 levels) in group'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:243:in `nest'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:216:in `block in group'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:228:in `group_sub'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/prettyprint.rb:215:in `group'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/pp.rb:154:in `pp'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/pp.rb:77:in `block in pp'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/pp.rb:121:in `guard_inspect_key'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/pp.rb:77:in `pp'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/pp.rb:51:in `pretty_inspect'
from /Users/luccasmaso/.rvm/rubies/ruby-1.9.3-p392/bin/irb:16:in `<main>'1.9.3p392 :021 >
Спасибо!
doc.images
. Вероятно, потому что в атрибутах src есть неправильный uri. - person pguardiario   schedule 25.05.2013