669 votes

IMDB fournit-il une API ?

J'ai récemment découvert une application d'organisation de films qui récupère ses données sur le site Web de la Base de données IMDB .

Fait IMDB fournit-il une API pour cela, ou existe-t-il des API de tiers ?

10 votes

Existe-t-il une API pour les critiques sur IMDB ?

1 votes

Pour créer un lien vers IMDB, utilisez le format suivant. <a href="http://www.imdb.com/title/{{{ $imdb_id }}}">{{{ $imdb_id }}}</a> BTW: imdb_id follows this pattern: tt0000000

1 votes

Je ne sais pas si j'ai un problème avec la lecture de l'article, mais j'ai un problème avec la lecture de l'article. Je suis à la recherche de quelque chose comme ça

467voto

Krinkle Points 4256

L'IMDb dispose d'une API publique qui, bien que non documentée, est rapide et fiable (utilisée sur le site officiel via AJAX).

API de suggestions de recherche

  • https://sg.media-imdb.com/suggests/h/hello.json

  • https://v2.sg.media-imdb.com/suggests/h/hello.json (à partir de 2019)

    • Format : JSON-P
    • Attention : il s'agit d'un format JSON-P, et le paramètre de rappel ne peut pas être personnalisé. Pour l'utiliser d'un domaine à l'autre, vous devrez utiliser le nom de leur fonction pour le rappel (qui se trouve dans la section imdb${searchphrase} ). Il est également possible de supprimer ou de remplacer le rembourrage via un proxy local.
  • https://v2.sg.media-imdb.com/suggestion/h/hello.json (à partir de 2020)

    • Format : JSON
    • Attention : il n'est pas compatible avec CORS. C'est parfait pour une utilisation dans des applications et des scripts. Pour une utilisation dans une application web, vous devrez l'acheminer à travers un simple proxy (et envisager d'activer la mise en cache).

    // 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 to the clean /suggestion API. jQuery.getJSON('/api/imdb/?q=foo', function (results) { / ... / });

    // 4) Pure JSON (plain JavaScript; Modern ES6, ES2017, and Fetch API) // Serve a "/api" route in your app, that proxies (and caches!) // to v2.sg.media-imdb.com/suggestion/h/hello.json const resp = await fetch('/api/imdb/?q=foo'); const results = await resp.json();

Recherche avancée


Attention, ces API ne sont pas officielles et peuvent être modifiées à tout moment !


Mise à jour (janvier 2019) : L'API avancée n'existe plus. La bonne nouvelle est que l'API Suggestions prend désormais en charge les fonctions "avancées" de recherche par titre de film et par nom d'acteur.

2 votes

RE : L'API JSONP ne se replie pas gracieusement, (au moins) elle renvoie un code d'erreur HTTP, mais je suis d'accord qu'il est amusant que le corps de la réponse soit XML.

10 votes

J'ai récemment remarqué qu'il inclut également une propriété "i" pour les images. L'url qui y est mentionnée est cependant une très grande image (probablement l'originale). Pour obtenir une vignette, IMDb utilise ce qui suit : if (ua.i) { c.img = { src: ua.i[0].replace("._V1_.jpg", "._V1._SX40_CR0,0,40,54_.jpg"), width: 40, height: 54 } } .

2 votes

Ne pourriez-vous pas simplement spécifier jsonp avec Ajax si vous obtenez json avec jquery et je pense que getjson a été déprécié même lorsque cela a été écrit, il a été déprécié je crois.

221voto

bfritz Points 1293

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

edit : en raison de problèmes juridiques, le service a dû être déplacé vers un nouveau domaine :)

1 votes

C'est génial, je ne sais pas si c'est le vôtre ou si vous venez de le trouver, mais j'aimerais bien voir quelque chose autour des statistiques de temps de fonctionnement pour savoir à quel point je peux compter dessus :D

16 votes

Au cas où quelqu'un se poserait la question, il ne s'agit pas de l'API officielle. Voir les réponses de Pekka ou Krinkle pour cela.

7 votes

C'est vraiment lent ;(

98voto

Pekka 웃 Points 249607

IMDB semble distribuer des données, mais uniquement sous forme de fichiers texte :

http://www.imdb.com/interfaces

il existe plusieurs API à ce sujet que vous pouvez rechercher sur Google. Le grattage d'écran est explicitement interdit. Une API officielle semble être en cours d'élaboration, mais c'est déjà le cas depuis des années.

7 votes

Comment est-il possible d'interdire le grattage d'écran ?

13 votes

@omouse De la termes : Robots and Screen Scraping: You may not use data mining, robots, screen scraping, or similar data gathering and extraction tools on this site, except with our express written consent as noted below. Cela ne signifie pas que ces conditions sont automatiquement applicables dans toutes les juridictions, mais elles le sont dans beaucoup d'entre elles.

6 votes

Oui, mais ce dialogue s'adressait aux "robots". Apparemment, mon robot ne comprend pas l'anglais, alors tant pis.

50voto

Johann Points 3011

Une autre alternative légale pour obtenir des infos sur le film est le Pourri Tomates (par Flixster) de l'API. http://developer.rottentomatoes.com/

49voto

hdorio Points 3332

Ce sur TMDb API ?

Vous pouvez effectuer une recherche par imdb_id avec Film.imdbLookup

XBMC Media Center semble l'utiliser

http://api.themoviedb.org/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X