Свързване към IMDB

Някой правил ли е това преди? Струва ми се, че трябва да има уеб услуга, но не мога да намеря такава. Пиша приложение за лична употреба, което ще показва само основна информация от IMDB.


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


Отговори (10)


Няма налична уеб услуга.

Но има достатъчно html скрепери, написани на всеки език, за да отговарят на вашите нужди!

Използвал съм проекта с отворен код .NET 3.5 Imdb Services в няколко лични проекта.

1 минутни резултати в Google:

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 и след това стартирайте като в shell или terminal или каквото и да е друго

ако искате 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. актьори/get-awards-summary
  3. title/get-plots
  4. заглавие/получете топ-екипаж

и т.н. Както всеки друг API, той е много лесен за използване. Използвах този API за създаване на забавен проект с любопитни факти. Можете да намерите урок за това как да започнете тук.

person Vikram Sharma    schedule 22.09.2020