ruby-on-rails - 如何修复“Errno::ENOENT:没有这样的文件或目录@rb_sysopen”?
问题描述
编码超级新手!我用rails new
.
我正在尝试抓取网站,但出现错误Errno::ENOENT: No such file or directory @ rb_sysopen
require 'open-uri'
require 'nokogiri'
require 'pry'
def get_page
link = "https://www.pokemon.com/us/pokedex/"
doc = Nokogiri::HTML(open(link))
#rest of code
end
get_page
任何帮助表示赞赏。谢谢!
解决方案
Kernel#open
打开文件、IO 流或子进程。它不打开 URI:
open(path [, mode [, perm]] [, opt]) → io or nil
打开(路径 [,模式 [,烫发]] [,选择]){|io| 块 } → 对象
创建连接到给定流、文件或子进程的 IO 对象。
方法:URI.open
.open(name, *rest, &block)
⇒Object
允许打开各种资源,包括 URI。
因此,您的代码应如下所示:
def get_page
link = "https://www.pokemon.com/us/pokedex/"
doc = Nokogiri::HTML(URI.open(link))
#rest of code
end
推荐阅读
- javascript - 在 Chrome 的 javascript 中使用 iframe 来欺骗音频自动播放
- node.js - pm2 脚本执行路径不正确,与生态系统.config.js 中的不匹配
- ios - 在 pod 部分编写代码时无法访问 AppDelegate 类
- pylucene - 寻找pylucene教程
- node.js - Puppeteer:如何使用来自服务器的 nodejs 访问客户端计算机?
- php - 如何使用 jquery 上传图像并在文件夹中移动?
- kibana - 如何在kibana中将字符串字段转换为整数字段
- javascript - jsTree - is_parent() 返回错误值
- javascript - 蚂蚁设计中未触发选择onChange功能
- java - Mysql与本地主机连接正常但无法与IP地址连接