我开始学习ruby和抓取,我试着用open打开一个url,我得到
lib/scrapper.rb:7:in `initialize': No such file or directory @ rb_sysopen - https://en.wikipedia.org/wiki/Douglas_Adams (Errno::ENOENT) from lib/scrapper.rb:7:in `open' from lib/scrapper.rb:7:in `<main>'
这是我的代码:
# frozen_string_literal: true
require 'rubygems'
require 'open-uri'
require 'nokogiri'
document = open("https://en.wikipedia.org/wiki/Douglas_Adams")
puts document
经过长时间的谷歌研究,我没有找到任何解决方案😭我测试打开这个url到:http://www.krosmoz.com/fr/almanax谢谢大家🧅
ps我在MAC m1上,不知道是否有兼容性问题
问题很可能是您使用的是ruby 3.0.0。
在Ruby 2.7下,我收到以下警告:warning:正在调用URI。通过内核#打开是不赞成的,调用URI。直接打开或使用URI#open
而在Ruby 3.0中,它已被删除。
所以解决方案,根据警告:
document = URI.open("https://en.wikipedia.org/wiki/Douglas_Adams").read