当我尝试通过用户输入获取URL时,Ruby open-uri会抛出Bad uri错误。为什么?

时间:2017-11-24 10:28:20

标签: ruby-on-rails ruby nokogiri open-uri

当我直接在脚本中提供URL时,此代码可以正常工作。

require 'nokogiri'
require 'open-uri'

get_url = "http://google.com"

doc = Nokogiri::HTML(open(get_url))
puts doc

我尝试输入" http://google.com"在用户输入中,但这不起作用并抛出Bad uri错误并说

  

没有这样的文件或目录@ rb_sysopen

require 'nokogiri'
require 'open-uri'

get_url = gets

doc = Nokogiri::HTML(open(get_url))
puts doc

谁能告诉我我做错了什么?我也尝试在google上查找但没有直接答案。

1 个答案:

答案 0 :(得分:2)

gets在字符串末尾添加一个新行字符。我已经使用chomp来获取以下内容。

它应该现在可以使用

require 'nokogiri'
require 'open-uri'

get_url = gets.chomp

doc = Nokogiri::HTML(open(get_url))
puts doc