Подключение к ИМДБ

Кто-нибудь делал это раньше? Мне казалось, что должен быть веб-сервис, но я не могу его найти. Я пишу приложение для личного пользования, которое просто показывало бы основную информацию из IMDB.


person Matthew M. Osborn    schedule 19.09.2008    source источник


Ответы (10)


Нет доступного веб-сервиса.

Но существует достаточно парсеров html, написанных на каждом языке, чтобы удовлетворить ваши потребности!

Я использовал проект .NET 3.5 Imdb Services с открытым исходным кодом в нескольких личных проектах.

Результаты Google за 1 минуту:

person Davy Landman    schedule 19.09.2008
comment
Спасибо, я ищу это, чтобы упростить мою проектную работу в университете :) - person Dzung Nguyen; 18.12.2010

Библиотеки для IMDb в настоящее время кажутся весьма ненадежными и крайне неэффективными. Я бы очень хотел, чтобы IMDb просто создал веб-сервис.

Немного поискав, я нашел разумную альтернативу IMDb. Он предоставляет всю основную информацию, такую ​​как обзор, год, рейтинги, постеры, трейлеры и т. д.:

База данных фильмов (TMDb).

Он предоставляет веб-сервис с обертками для нескольких языков и пока кажется надежным. Результаты поиска для меня также были более точными.

person Arical    schedule 16.11.2010

Единственный «API», который публикует IMDb, — это набор текстовых файлов данных, содержащих отформатированные списки действующих лиц. , режиссеры, фильмы и т. д. Вам, скорее всего, придется написать свой собственный синтаксический анализатор, если только кто-то не выпустил его для вашего языка. Попробуйте выполнить поиск в Google, например «imdb api» и «imdb parser».

Скрапер экрана может быть полезен, но они специально запрещают скребки в своих условиях использования.

person skymt    schedule 19.09.2008
comment
Вы совершенно правы насчет того, что использовать скребки запрещено, но поскольку они предназначены только для личного использования, я бы не стал делать это препятствием для шоу. - person Davy Landman; 19.09.2008

Хотя это было опубликовано более двух лет назад, вот простой код Python

import urllib2

movie_id = raw_input('Enter the ID of the movie: ')
json = urllib2.urlopen('http://imdbapi.com/?i=' + movie_id + '&r=json')

print json.read()

сохраните как imdb.py, а затем запустите как в оболочке или терминале или что-то еще

если вам нужны данные xml, просто замените json на xml

обратите внимание, что это использует веб-сайт imdbapi.com для возврата результата json, посетите этот веб-сайт, чтобы просмотреть дополнительные параметры.

person philberndt    schedule 27.06.2011

Вот мое собственное решение с использованием RegEx:

private const string UglyMovieRegex = "(?<=5>|3>)(Cast|Director:|Fun\\sStuff|Genre:|Plot:|Runtime:|Tagline:|Writers:)"
                                                + "|href=\"[\\w\\d/]+?(Genres|name|character)/([\\w]+?)/\".*?>([.\\-\\s\\w]+)</a>"
                                                + "|(?<=h\\d>)([.\\w\\s'\\-\"]+)(?=<a\\sc|</d|\\|)";

Regex MovieData = new Regex (UglyMovieRegex, RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline );
person Nescio    schedule 20.09.2008

IMDB запрещает скрейперы и время от времени меняет макет страницы, поэтому синтаксический анализ HTML является вариантом, но будьте готовы корректировать свой код 2-3 раза в год (был там, сделал это, отказался). У них есть платная услуга, предоставляющая полный доступ к данным, но вам также нужно будет объяснить, для чего она нужна, и убедить их, что вы не создаете конкурентоспособный веб-сайт (у меня была ссылка на это, но, похоже, изменился и не могу найти его сейчас).

person Milan Babuškov    schedule 19.09.2008
comment
Привет, я не понимаю, почему imdb не разрешает просмотр веб-страниц, но они дают вам полный доступ к своим полным данным? Вы знаете причину? Это просто не имеет смысла, потому что веб-скрапинг — это просто получение данных с их сайта, которые они уже предоставляют? - person hlim; 30.10.2012

Другой альтернативой является запуск базы данных IMDB на вашем локальном компьютере. Java Movie Database импортирует файлы базы данных IMDB, преобразует их и предоставляет локально доступную копию IMDB. IMDB имеет некоторые функции, которых нет в Java Movie Database, и наоборот, но если вам нужен быстрый доступ ко всем данным, возможно, стоит попробовать.

person Community    schedule 23.08.2009

Теперь есть (недокументированный) API, такой как http://www.imdb.com/xml/find?json=1&q=Harry+Potter. См. Предоставляет ли IMDB API?

person mb21    schedule 20.04.2013

TRYNT Heavy Technologies предоставляет (бесплатно) веб-сервис для получения основных данных IMDb — посетите их сайт по адресу http://www.trynt.com/trynt-movie-imdb-api/. У них также есть отдельная услуга для телевизионных данных.

person Community    schedule 14.11.2008
comment
Тринт умер? Он не работает уже несколько дней. - person Leandro Ardissone; 25.01.2010

Существует как минимум один неофициальный API IMDb под названием IMDb8. Он имеет около 31 конечной точки, включая

  1. актеры/список-рожденных-сегодня
  2. актеры / получить-награды-резюме
  3. название / получить-сюжеты
  4. титул / получить высшую команду

и т. д. Как и любой другой API, его очень просто использовать. Я использовал этот API для создания забавного проекта викторины. Учебник о том, как начать работу, можно найти здесь.

person Vikram Sharma    schedule 22.09.2020