我在窥探,这张照片给我带来了一些麻烦。例如。
[8] pry(main)> img => #(Element:0x3fe805871b94 { name = "img", attributes = [ #(Attr:0x3fe8058716d0 { name = "alt", value = "Alt text here" }), #(Attr:0x3fe805870460 { name = "src", value = "/path/to/file/a.jpg" }), #(Attr:0x3fe80587044c { name = "style", value = "width: 452px; height: 190px" })] }) [9] pry(main)> URI.escape(img) NoMethodError: undefined method `gsub' for #<Nokogiri::XML::Element:0x007fd00b0e3728> from /Users/snowcrash/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/uri/rfc2396_parser.rb:304:in `escape'
知道为什么以及如何解决它吗?
你不能逃避Nokogiri XML元素,它是一个复杂的Ruby对象,URI逃避者不知道如何使用。您可以对其上的某个字符串属性进行转义。
例如:
URI.escape(img.attr('src'))