最近,我发现了一个电影管理器应用程序,该应用程序从IMDB数据库中获取其数据。

IMDB是否为此提供API或任何可用的第三方API?


#1楼

我非常有信心,您找到的应用程序实际上是从Themoviedb.org的API获取信息的(他们从IMDB中获得了大部分东西)。 他们有一个免费的开放API,供电影组织者/ XMBC应用程序使用。


#2楼

http://app.imdb.com上有一个供移动应用程序使用的JSON API。

但是,警告相当严重:

仅供IMDb书面授权的客户使用。
未经授权客户的作者和用户对其行为承担全部法律责任。

我想这是为那些需要付费才能通过其API访问数据的开发人员准备的。

编辑 :只是为了踢,我写了一个客户端库试图从API读取数据,您可以在这里找到它: api-imdb

显然,您应该注意该警告,实际上,请使用TheMovieDB之类的东西作为更好和更开放的数据库。

然后,您可以使用此Java API包装器(由我编写): api-themoviedb


#3楼

NetFilx更是一种个性化媒体服务,但是您可以将其用于电影的公共信息。 它支持Javascript和OData。
还要看一下JMDb :信息与使用IMDb网站时获得的信息基本相同。


#4楼

好的,我发现了这只IMDB刮板

适用于C#: http : //web3o.blogspot.de/2010/11/aspnetc-imdb-scraping-api.html

此处的PHP: http : //web3o.blogspot.de/2010/10/php-imdb-scraper-for-new-imdb-template.html

或者是针对c#的imdbapi.org实现:

using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Xml.Linq;
using HtmlAgilityPack; // http://htmlagilitypack.codeplex.com/public class IMDBHelper
{public static imdbitem GetInfoByTitle(string Title){string url = "http://imdbapi.org/?type=xml&limit=1&title=" + Title;HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);req.Method = "GET";req.UserAgent = "Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))";string source;using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream())){source = reader.ReadToEnd();}HtmlDocument doc = new HtmlDocument();doc.LoadHtml(source);        XDocument xdoc = XDocument.Parse(doc.DocumentNode.InnerHtml, LoadOptions.None);imdbitem i = new imdbitem();i.rating = xdoc.Descendants("rating").Select(x => x.Value).FirstOrDefault();i.rating_count = xdoc.Descendants("rating_count").Select(x => x.Value).FirstOrDefault();i.year = xdoc.Descendants("year").Select(x => x.Value).FirstOrDefault();i.rated = xdoc.Descendants("rated").Select(x => x.Value).FirstOrDefault();i.title = xdoc.Descendants("title").Select(x => x.Value).FirstOrDefault();i.imdb_url = xdoc.Descendants("imdb_url").Select(x => x.Value).FirstOrDefault();i.plot_simple = xdoc.Descendants("plot_simple").Select(x => x.Value).FirstOrDefault();i.type = xdoc.Descendants("type").Select(x => x.Value).FirstOrDefault();i.poster = xdoc.Descendants("poster").Select(x => x.Value).FirstOrDefault();i.imdb_id = xdoc.Descendants("imdb_id").Select(x => x.Value).FirstOrDefault();i.also_known_as = xdoc.Descendants("also_known_as").Select(x => x.Value).FirstOrDefault();i.language = xdoc.Descendants("language").Select(x => x.Value).FirstOrDefault();i.country = xdoc.Descendants("country").Select(x => x.Value).FirstOrDefault();i.release_date = xdoc.Descendants("release_date").Select(x => x.Value).FirstOrDefault();i.filming_locations = xdoc.Descendants("filming_locations").Select(x => x.Value).FirstOrDefault();i.runtime = xdoc.Descendants("runtime").Select(x => x.Value).FirstOrDefault();i.directors = xdoc.Descendants("directors").Descendants("item").Select(x => x.Value).ToList();i.writers = xdoc.Descendants("writers").Descendants("item").Select(x => x.Value).ToList();i.actors = xdoc.Descendants("actors").Descendants("item").Select(x => x.Value).ToList();i.genres = xdoc.Descendants("genres").Descendants("item").Select(x => x.Value).ToList();return i;}public class imdbitem{public string rating { get; set; }public string rating_count { get; set; }public string year { get; set; }public string rated { get; set; }public string title { get; set; }public string imdb_url { get; set; }public string plot_simple { get; set; }public string type { get; set; }public string poster { get; set; }public string imdb_id { get; set; }public string also_known_as { get; set; }public string language { get; set; }public string country { get; set; }public string release_date { get; set; }public string filming_locations { get; set; }public string runtime { get; set; }public List<string> directors { get; set; }public List<string> writers { get; set; }public List<string> actors { get; set; }public List<string> genres { get; set; }}}

#5楼

https://deanclatworthy.com/tools.html是IMDB API,但由于滥用而被关闭。


#6楼

IMDB本身似乎在分发数据,但仅在文本文件中:

http://www.imdb.com/interfaces

您可以通过多种API来使用Google。 明确禁止刮屏。 官方的API似乎正在开发中,但是已经有很多年了。


#7楼

这是一个简单的解决方案,可以根据来自Krinkle的查询按名称获取显示:

您可以通过让服务器获取URL而不是尝试直接使用AJAX直接获取URL来解决同源策略,而不必使用JSONP来做到这一点。

Javascript(jQuery):

function getShowOptionsFromName (name) {$.ajax({url: "ajax.php",method: "GET",data: {q: name},dataType: "json"}).done(function(data){console.log(data);});
}

PHP(在ajax.php文件中):

$q = urlencode($_GET["q"]);
echo file_get_contents("http://www.imdb.com/xml/find?json=1&nr=1&tt=on&q=$q");

#8楼

找到这个

IMDbPY是一个Python软件包,可用于检索和管理有关电影,人物,人物和公司的IMDb电影数据库的数据。

http://imdbpy.sourceforge.net/


#9楼

是的,但不是免费的。

.....年费从15,000美元到更高不等,这取决于数据的听众和被许可的数据。

网址:-http: //www.imdb.com/licensing/


#10楼

该deanclatworthy似乎仍然有效,还有另一个: http ://imdbapi.poromenos.org/


#11楼

如果您想要电影详细信息API,可以考虑

OMDB API是开放电影数据库,它返回IBDB评分,IMDB投票,您也可以包括烂番茄评分。

否则你可以使用

My Api Films允许您使用IMDB ID进行搜索并返回详细信息,但是它具有请求限制。


#12楼

如果您需要电视信息,可以尝试TVmaze.com 。

它是免费,快速且可靠的。 这是开发者页面:

http://api.tvmaze.com/


#13楼

截至2016年8月,IMDB似乎还没有直接的API,但是我看到很多人在上面编写刮板和东西。 这是使用票房buzz API访问电影数据的更标准的方法。 免费计划每天提供JSON格式的所有响应和每天5000个查询

API提供的内容清单

  1. 电影学分
  2. 电影ID
  3. 电影影像
  4. 通过IMDB ID获取电影
  5. 获取最新电影列表
  6. 获取新版本
  7. 获取电影上映日期
  8. 获取特定电影的翻译列表
  9. 获取电影的视频,预告片和预告片
  10. 按标题搜索电影
  11. 还支持电视节目,游戏和视频

#14楼

新api @ http://www.omdbapi.com

编辑:由于法律问题不得不将服务移至新域:)


#15楼

TMDb API呢?

您可以使用Movie.imdbLookup通过imdb_id搜索

XBMC Media Center似乎正在使用它

https://www.themoviedb.org/documentation/api


#16楼

这是一个提供API的Python模块,可从IMDB网站获取数据

http://techdiary-viki.blogspot.com/2011/03/imdb-api.html


#17楼

获取电影信息的另一种合法选择是Rotten-Tomatoes API (由Fandango提供)。


#18楼

IMDb具有一个公共API,尽管未记录,但它是快速且可靠的(通过AJAX在官方网站上使用)。

搜索建议API

  • https://sg.media-imdb.com/suggests/a/aa.json
  • https://v2.sg.media-imdb.com/suggests/h/hello.json (备用)
  • 格式:JSON-P
  • 注意:格式为JSON-P,并且无法自定义回调参数。 要跨域使用它,您必须使用他们选择的函数名称(格式为imdb${searchphrase} )。 或者,可以通过本地代理剥离或替换填充。
// 1) Vanilla JavaScript (JSON-P)
function addScript(src) { var s = document.createElement('script'); s.src = src; document.head.appendChild(s); }
window.imdb$foo = function (results) {/* ... */
};
addScript('https://sg.media-imdb.com/suggests/f/foo.json');// 2) Using jQuery (JSON-P)
jQuery.ajax({url: 'https://sg.media-imdb.com/suggests/f/foo.json',dataType: 'jsonp',cache: true,jsonp: false,jsonpCallback: 'imdb$foo'
}).then(function (results) {/* ... */
});// 3) Pure JSON (with jQuery)
// Use a local proxy that strips the "padding" of JSON-P,
// e.g. "imdb$foo(" and ")", leaving pure JSON only.
jQuery.getJSON('/api/imdb/?q=foo', function (results) {/* ... */
});// 4) Pure JSON (ES2017 and Fetch API)
// Using a custom proxy at "/api" that strips the JSON-P padding.
const resp = await fetch('/api/imdb/?q=foo');
const results = await resp.json();

高级搜索

  • 名称搜索(json): http : //www.imdb.com/xml/find? json=1&nr=1&nm=on&q=jeniffer+garner
  • 标题搜索(xml): http : //www.imdb.com/xml/find? xml=1&nr=1&tt=on&q= lost
  • 格式:XML
  • 优势:同时支持电影标题和演员姓名(与Recommendations API不同)。

请注意,这些API是非官方的,并且随时可能更改!


更新(2019年1月):高级API不再存在。 好消息是,建议API现在支持电影标题和演员名称。


#19楼

最近在SXSWi 2012的“ Mashery Lounge”中,有一个叫rovi的类似于IMDB的API的摊位。 它不是免费的API,但根据我与之交谈的销售人员的说法,他们会根据您的预算提供转股或固定使用费。 我还没有用过,但是看起来很酷。

IMDB是否提供API? [关闭]相关推荐

  1. html5通过api调数据库,使用HTML5数据库API [关闭](Using HTML5 Database API [closed])

    使用HTML5数据库API [关闭](Using HTML5 Database API [closed]) 我正在开发一个使用phonegap/cordova 2.2的web应用程序,并希望将数据存储 ...

  2. 视频编辑SDK---我们只提供API,任你自由设计炫酷的功能

    面对相对复杂的视频编辑处理技术,你是否束手无策? 在短视频应用中,有一定技术难度的视频编辑技术中,我们提出了一种全新的解决方法:画板和画笔. 短视频处理,用画板和画笔,就够了! 我们设计了极其简单易懂 ...

  3. 【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )

    文章目录 一.Gradle 自动下载并配置构建环境 二.Gradle 提供 API 扩展与开发工具集成 三.Gradle 内置 Maven 和 Ivy 依赖管理 四.Gradle 使用 Groovy ...

  4. go vs python 对接外部web api_python--web--让python提供api服务--aiohttp-Go语言中文社区

    aiohttp介绍 官网上有这样一句话介绍:Async HTTP client/server for asyncio and Python 翻译过来就是 基于asyncio和Python实现的异步HT ...

  5. python--web--让python提供api服务--aiohttp

    aiohttp介绍 官网上有这样一句话介绍:Async HTTP client/server for asyncio and Python 翻译过来就是 基于asyncio和Python实现的异步HT ...

  6. 文字转语音 - 搭建微软tts整合web服务提供api接口(免费)

    微软tts是业界公认文字转语音效果最佳 本文使用docker搭建微软tts服务并提供api接口对外提供服务 对接官方免费在线体验接口,搭建后可免费进行调用使用,不保证永久稳定可用 调用方式 url:h ...

  7. Apache 的 POI提供API

     Apache POI在线 API : http://tool.oschina.net/apidocs/apidoc?api=apache-POI 一. POI简介Apache POI是Apache软 ...

  8. jeesite如何配置swagger_用JeeSite快速搭建网站(3):提供api接口给移动端

    上次在用JeeSite快速搭建网站(2):单表的增删改查中我们实现单表数据的增删改查了,现在终于来冲击最终目标--提供api接口给移动端. 准备工作:安装swagger 以前的工作流是 服务端写好接口 ...

  9. 什么是API?为什么要提供API?

    什么是API?为什么要提供API? API是系统的基石,是Windows的一砖一瓦. 明确一个概念,软件是运行在系统平台的支持上的,软件的功能其实就是向系统伸请,并由系统完成这些功能的过程. 那么软件 ...

最新文章

  1. springboot继承组件_SpringBoot如何扩展引入的组件,以及如何自动配置组件原理
  2. lucene源码分析(7)Analyzer分析
  3. 算法训练 字符串的展开
  4. Windows命令行(DOS命令)教程
  5. 如何实现插入数据时自动更新另外一个表的内容
  6. java byte 转换int_java byte负数转换int失真?
  7. Oracle备份恢复概要
  8. htc 常见错误和解决方案
  9. abandon_mysql_使用Druid报错abandon connection, open stackTrace
  10. 四川大学计算机徐教授,我院举行“BIM实验室开放+徐教授专题讲座”活动
  11. 燃尽图 (Burn up and Burn down Chart)—介绍
  12. Android解决输入法自动弹出方法大全
  13. CART回归树原理及示例
  14. Windows系统下的部分dos命令
  15. 生活明朗,万物可爱,人间值得,未来可期
  16. PHP能获取word页数吗,PHP MS Word文件页数
  17. Aria2 GUI for Mac V1.3 极速版 百度网盘高速下载神器
  18. badboy脚本开发事件
  19. 如何从NOAA下载中国测站水文数据
  20. Map Tile地图切片小工具

热门文章

  1. 排序算法复习之一趟快速排序算法:为什么说关键字所占的位置是多余的
  2. Android Parcelable 源码解析
  3. 第三周项目二-本月有几天?
  4. LinkedHashMap源码分析
  5. (014)java后台开发之用tomcat发布自己的javaWeb项目
  6. 做网页需要学哪些计算机知识,网页美工设计需要掌握的电脑常识
  7. 根据输入的日期计算你活了多少天(新手)
  8. zbb20170824 oracle expdp/impdp 导入导出数据
  9. React Native知识2-Text组件
  10. node 关键点总结