J'ai récemment trouvé une application d'organisateur de film qui récupère ses données de la Base de données IMDB.
Est-ce que IMDB fournir une API pour cela, ou des API tierces disponibles?
J'ai récemment trouvé une application d'organisateur de film qui récupère ses données de la Base de données IMDB.
Est-ce que IMDB fournir une API pour cela, ou des API tierces disponibles?
L'IMDb a actuellement deux API publiques qui sont, bien que non documentées, très rapides et fiables (utilisées sur leur propre site via AJAX).
Une API de suggestions de recherche mise en cache statique:
Inconvénient:
Il est au format JSONP, mais le paramètre callback ne peut pas être défini en transmettant un paramètre de requête de rappel. Pour l'utiliser, vous devrez utiliser le nom de la fonction qu'ils ont choisi (qui est au format "imdb $ {searchphrase}", voir l'exemple ci-dessous). Ou utilisez un proxy local (par exemple un petit fichier php) qui télécharge (et met en cache!) Le contenu d'IMDb et supprime le rappel JSON-P, ou le remplace par un rappel personnalisé.
S'il n'y a aucun résultat, il ne se substitue pas gracieusement, mais affiche une erreur XML à la place
// Basic
window.imdb$foo = function (list) {
/* ... */
};
jQuery.getScript('http://sg.media-imdb.com/suggests/f/foo.json');
// Using jQuery.ajax (let jQuery handle the callback)
jQuery.ajax({
url: 'http://sg.media-imdb.com/suggests/f/foo.json',
dataType: 'jsonp',
cache: true,
jsonp: false,
jsonpCallback: 'imdb$foo'
}).done(function (result) {
/* ... */
});
// With local proxy to a PHP script replacing imdb$foo with a sanitized
// version of $_GET['callback'] (https://stackoverflow.com/a/8811412/319266)
jQuery.getJSON('./imdb.php?q=foo&callback=?', function (list) {
/* ... */
});
Recherche plus avancée
Comme indiqué, ces deux API ne sont pas documentées. Ils pourraient changer à tout moment.
Voir également https://stackoverflow.com/a/8811412/319266, pour un exemple d'API JSON en PHP.
nouvel api @ http://www.omdbapi.com
edit: en raison de problèmes juridiques a dû déplacer le service vers un nouveau domaine :)
IMDB eux-mêmes semblent distribuer des données, mais seulement dans les fichiers texte:
http://www.imdb.com/interfaces
il existe plusieurs API autour de ce que vous pouvez Google. Le scraping d'écran est explicitement interdit. Une API officielle semble être en préparation, mais cela fait déjà des années.
Une autre alternative légale pour obtenir des informations sur le film est le API Rotten-Tomatoes (par Fandango).
Qu'en est-il de l'API TMDb?
Vous pouvez effectuer une recherche avec imdb_id avec Movie.imdbLookup
XBMC Media Center semble l'utiliser
Oui, mais pas gratuitement.
..... des frais annuels allant de 15 000 $ à plus en fonction de l'audience des données et des données qui font l'objet d'une licence.
Il existe une API JSON à utiliser par les applications mobiles à http://app.imdb.com
Cependant, l'avertissement est assez sévère:
À utiliser uniquement par les clients autorisés par écrit par IMDb.
Les auteurs et les utilisateurs de clients non autorisés acceptent l'entière responsabilité juridique pour leurs actions.
Je suppose que c'est pour les développeurs qui paient pour la licence d'accès aux données via leur API.
MODIFIER: Juste pour les coups de pied, j'ai écrit une bibliothèque client pour tenter de lire les données de l'API, vous pouvez le trouver ici: api-imdb
De toute évidence, vous devriez faire attention à l'avertissement, et vraiment, utiliser quelque chose comme TheMovieDB comme une base de données meilleure et plus ouverte.
Ensuite, vous pouvez utiliser ce wrapper API Java (que j'ai écrit): api-themoviedb