ruby - 使用 Ruby 获取网页内容——我遇到了麻烦

标签 ruby

我想从这个*页面中获取内容。我查找的所有内容都提供了解析 CSS 元素的解决方案;但是,那个页面没有。

这是我发现的唯一看起来应该有效的代码:

file = File.open('http://hiscore.runescape.com/index_lite.ws?player=zezima', "r")
contents = file.read
puts contents

错误:

tracker.rb:1:in 'initialize': Invalid argument - http://hiscore.runescape.com/index_lite.ws?player=zezima (Errno::EINVAL)
  from tracker.rb:1:in 'open'
  from tracker.rb:1

*http://hiscore.runescape.com/index_lite.ws?player=zezima

如果您尝试将其格式化为帖子中的链接,由于某种原因它无法识别 URL 中的下划线 (_)。

最佳答案

您真的想使用内核类提供的 open(),它可以从 URI 中读取您只需要首先需要 OpenURI 库:

require 'open-uri'

这样使用:

require 'open-uri'
file = open('http://hiscore.runescape.com/index_lite.ws?player=zezima')
contents = file.read
puts contents

这个相关的 SO 线程涵盖了相同的问题:

Open an IO stream from a local file or url

关于ruby - 使用 Ruby 获取网页内容——我遇到了麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1854207/

相关文章:

ruby - gem install sqlite3 后 require 'sqlite3' 失败

javascript - 我从 Ruby 到 JavaScript 的翻译给出了不同的结果

ruby - ruby 中的 $~ 是什么

ruby-on-rails - 生产环境运行 "rake test"?

ruby - Ruby 中的 block 参数与 block 局部参数

ruby - 怎么切片切片!影响 Ruby 中的 object_id?

ruby-on-rails - 使用 WSL 时如何从 Windows 访问 Linux 二进制文件?

ruby-on-rails - 如何对嵌套集合的所有属性求和?

ios - ruby xcodeproj 抛出 `normalize_source_tree' : [Xcodeproj] Unrecognized source tree option `Auto` (RuntimeError)

ruby-on-rails - 根据 rails 3 中的范围计算版税