Подтвердить что ты не робот

Подключение к IMDB

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

4b9b3361

Ответ 1

Нет доступных веб-сервисов.

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

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

1 минута google results:

Ответ 2

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

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

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

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

Ответ 3

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

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

Ответ 4

Вот мое собственное решение, использующее 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 );

Ответ 5

Хотя это было опубликовано более двух лет назад, вот простой код 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 на этот веб-сайт для просмотра дополнительных параметров.

Ответ 6

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

Ответ 7

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

Ответ 8

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

Ответ 9

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