代码之家  ›  专栏  ›  技术社区  ›  Matthew M. Osborn

连接到IMDB

  •  21
  • Matthew M. Osborn  · 技术社区  · 16 年前

    以前有人做过吗?在我看来应该有一个WebService,但我找不到。我正在编写一个个人使用的应用程序,它只显示来自IMDB的基本信息。

    9 回复  |  直到 7 年前
        1
  •  14
  •   snakile    13 年前

    没有可用的WebService。

    但是每种语言都有足够的HTML刮削器来满足您的需求!

    我已经用过了 .NET 3.5 Imdb Services opensource project 在一些个人项目中。

    1分钟谷歌搜索结果:

        2
  •  17
  •   Saurabh Rane Arical    7 年前

    图书馆 IMDb 目前看来很不可靠,效率很低。我真的希望 IMDB 只创建一个WebService。

    经过一番搜索,我找到了一个合理的替代方法 IMDB . 它提供所有基本信息,如概述、年份、评级、海报、拖车等:

    The Movie Database (TMDb) .

    它为Web服务提供 wrappers for several languages 到目前为止似乎是可靠的。对我来说,搜索结果也更加准确。

        3
  •  8
  •   skymt    16 年前

    IMDB发布的唯一“API”是一组 plain-text data files 包含演员、导演、电影等的格式化列表。除非有人为您的语言发布了解析器,否则您可能需要编写自己的解析器。尝试谷歌搜索“imdb api”和“imdb parser”。

    屏幕刮刀可能有用,但它们特别有用 prohibit scrapers 在使用方面。

        4
  •  5
  •   philberndt    13 年前

    虽然这是两年前发布的,但这里有一个简单的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结果,请访问该网站以查看更多选项。

        5
  •  5
  •   Jamal Tom_B    10 年前

    下面是我自己使用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 );
    
        6
  •  4
  •   Milan BabuÅ¡kov    16 年前

    imdb禁止使用scraper,并且每隔一段时间就更改一次页面布局,因此解析HTML是一个选项,但是要准备好每年调整代码2-3次(如果有,就这么做,就放弃了)。他们有一个基于收费的服务,可以完全访问数据,但是你还需要解释它的用途,并说服他们你没有建立一个有竞争力的网站(我有一个链接,但是它似乎已经改变了,现在找不到了)。

        7
  •  2
  •       15 年前

    另一种选择是在本地计算机上运行IMDB数据库。 Java Movie Database 导入IMDB数据库文件,转换它们并提供IMDB的本地可访问副本。IMDB有一些Java电影数据库不具备的功能,反之亦然,但如果您所需要的是快速访问所有的数据,那么不妨尝试一下。

        8
  •  2
  •   Community CDub    7 年前

    现在有一个(未记录的)API http://www.imdb.com/xml/find?json=1&q=Harry+Potter . 见 Does IMDB provide an API?

        9
  •  1
  •   Christopher Fleming    16 年前

    Trynt Heavy Technologies(免费)提供了一个用于检索基本IMDB数据的Web服务——请访问他们的网站 http://www.trynt.com/trynt-movie-imdb-api/ . 他们还为电视数据提供单独的服务。