【发布时间】:2018-02-12 22:13:36
【问题描述】:
我有一个控制器,它获取一个作为参数传递的 url,我试图在该 url 处抓取整个页面。但是当我尝试读取 url 时出现以下错误:No such file or directory @ rb_sysopen - www.google.com
控制器:
lass PageScraperController < ApplicationController
require 'nokogiri'
require 'open-uri'
require 'diffy'
require 'htmlentities'
def scrape
require 'open-uri'
@url = watched_link_params.to_s
@url = @url.slice(9..@url.length-3)
puts "LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOG#{@url}"
page = Nokogiri::HTML(open(@url))
# coder = HTMLEntities.new
# encodedHTML = coder.encode(page)
puts page
end
def watched_link_params
params.require(:default).permit(:url)
end
end
【问题讨论】:
-
我想你想要
@url = watched_link_params[:url]。然后,您可以避免将哈希转换为字符串然后切出您想要的部分而造成的混乱。
标签: ruby-on-rails ruby ruby-on-rails-5 nokogiri open-uri