23

有没有人这样做过?在我看来,应该有一个网络服务,但我找不到。我正在编写一个供个人使用的应用程序,它只显示来自 IMDB 的基本信息。

4

10 回答 10

18

IMDb的库目前看起来非常不可靠且效率极低。我真的希望IMDb只创建一个网络服务。

经过一番搜索,我找到了IMDb的合理替代方案。它提供了所有基本信息,例如概述、年份、评级、海报、预告片等:

电影数据库 (TMDb)

它为多种语言提供了一个带有包装器的 web服务,并且到目前为止看起来很可靠。对我来说,搜索结果也更准确。

于 2010-11-16T08:29:33.247 回答
14

没有可用的网络服务。

但是每种语言都有足够多的 html 抓取工具来满足您的需求!

我在一些个人项目中使用了.NET 3.5 Imdb Services 开源项目。

1 分钟谷歌搜索结果:

于 2008-09-19T07:38:33.903 回答
8

IMDb 发布的唯一“API”是一组纯文本数据文件,其中包含格式化的演员、导演、电影等列表。除非有人为您的语言发布了解析器,否则您可能需要编写自己的解析器。尝试 Google 搜索,例如“imdb api”和“imdb parser”。

屏幕刮板可能有用,但他们在使用条款中明确禁止刮板

于 2008-09-19T07:44:16.527 回答
5

这是我自己使用 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 );
于 2008-09-20T21:27:04.847 回答
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 ,然后在 shell 或终端或其他任何地方运行

如果您想要 xml 数据,只需将 json 替换为 xml

请注意,这是使用 imdbapi.com 网站返回 json 结果访问该网站以查看更多选项。

于 2011-06-27T16:00:08.677 回答
4

IMDB 禁止爬虫,并且每隔一段时间就更改一次页面布局,因此解析 HTML 是一种选择,但要准备好每年调整 2-3 次代码(去过那里,做过那个,放弃)。他们确实有一项收费服务,可以完全访问数据,但你还需要解释它的用途,并说服他们你不是在建立一个有竞争力的网站(我有一个链接,但似乎已更改,现在找不到)。

于 2008-09-19T07:48:53.240 回答
2

另一种选择是在本地机器上运行 IMDB 数据库。Java 电影数据库导入 IMDB 数据库文件,对其进行转换并提供本地可访问的 IMDB 副本。IMDB 有一些 Java 电影数据库没有的功能,反之亦然,但如果您正在寻找的是快速访问所有数据,那么可能值得一试。

于 2009-08-23T23:03:33.163 回答
2

现在有一个(未记录的)API,例如http://www.imdb.com/xml/find?json=1&q=Harry+Potter. 请参阅IMDB 是否提供 API?

于 2013-04-20T14:07:54.063 回答
1

TRYNT Heavy Technologies 提供(免费)用于检索基本 IMDb 数据的 Web 服务——查看他们的网站http://www.trynt.com/trynt-movie-imdb-api/。他们还为电视数据提供单独的服务。

于 2008-11-14T19:36:26.283 回答
0

至少有一个名为 IMDb8 的非官方 IMDb API。它有大约 31 个端点,包括

  1. 演员/今天出生的名单
  2. 演员/获奖总结
  3. 标题/获取图
  4. 标题/获得顶级船员

etc. Like any other API it is very straightforward to use. I used this API for building a fun trivia project. You can find a tutorial on how to get started here.

于 2020-09-22T07:30:17.500 回答