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

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


当前回答

下面是一个简单的解决方案,根据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");

其他回答

我很有信心,你发现的应用程序实际上从Themoviedb.org的API得到他们的信息(他们从IMDB得到大部分的东西)。它们有一个免费的开放API,许多电影管理器/XMBC应用程序都使用这个API。

是的,但不是免费的。

…年费从15,000美元到更高,这取决于数据的受众以及正在获得许可的数据。

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

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

http://www.imdb.com/interfaces

有一些相关的api你可以。屏幕抓取是明确禁止的。 官方API似乎正在筹备中,但这已经是几年前的事了。

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

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

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

然而,警告是相当严重的:

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

我认为这是为那些通过API访问数据而付费的开发者准备的。

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

显然,您应该注意这个警告,并使用像TheMovieDB这样的数据库作为更好、更开放的数据库。

然后你可以使用这个Java API包装器(我写的):API -themoviedb