带有 Ruby 的 Imdb api

Posted

技术标签:

【中文标题】带有 Ruby 的 Imdb api【英文标题】:Imdb api with Ruby 【发布时间】:2013-04-28 07:25:50 【问题描述】:

我正在尝试使用imdb API。我试图搜索 Fargo,但是当我运行它时,我得到的只是一个黑屏:

require 'net/http'

uri = URI.parse("http://imdbapi.org/")
response = Net::HTTP.post_form(uri, "q" => "Fargo")

谁能告诉我出了什么问题或提供一个示例,说明如何使用来自该 api 的 ruby​​ 中的 json 从 Fargo 检索数据?

【问题讨论】:

【参考方案1】:

简单的方法:

require 'json'
require 'open-uri'
json = JSON.parse(open("http://imdbapi.org?q=Fargo")  |x| x.read ).first

获取单个元素:

json['title'] 
#=> Fargo

【讨论】:

这个网站不工作了,用这个代替,这个速度很快而且似乎是免费的theimdbapi.org【参考方案2】:

下面这个简单的代码向我们展示了如何从 imdb api 获取基本的 json 数据:

require "net/http"
require "uri"

uri = URI.parse("http://imdbapi.org/?title=Fargo&type=json")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)

puts response.body

我以 REST 方式使用动词 GET。

【讨论】:

我从 response.body 中得到:["runtime": ["98 min"], "rating":8.2, "genres" ... etc 如何获取单个元素由此?仅示例标题 为此更新了我的帖子。 :) 就像@kiddorails 所做的一样,'json = JSON.parse(response.body).first',不要忘记 require 'json'。

以上是关于带有 Ruby 的 Imdb api的主要内容,如果未能解决你的问题,请参考以下文章

如何加速imdb的初始化

从 Keras 的 imdb 数据集中恢复原始文本

难以按人口统计(使用 IMDbpy)提取 IMDb 评级

OMDB Api 是不是从 IMDB 检索信息

IMDB TOP 250爬虫

您将如何计算 IMDB 电影评分?