【问题标题】:API or any other way to access IMDB TOP 250 list?API 或任何其他方式访问 IMDB TOP 250 列表?
【发布时间】:2012-07-26 04:49:56
【问题描述】:

我进行了广泛的研究,发现我找不到 API。是否有任何可用的 API 来获取 TOP 250 列表?

或者通过其他方式访问列表?

我尝试访问页面 HTML 并在我的 JSP 后端进行解析。但这里的问题是我只得到一个骨架,列表作为 AJAX 加载。

任何网络抓取方式?

任何使用想法将不胜感激......

【问题讨论】:

  • 为什么不对脚本调用的端点发出请求(进行 ajax 调用)?
  • Does IMDB provide an API? 的可能重复项
  • 我上面评论中的链接包含解决方案。
  • 但没有办法获得 TOP 250 名单。我在“TOP 250 名单”上是具体的

标签: jsp web-scraping imdb


【解决方案1】:

最简单的方法是从IMDb alternate interfaces下载数据。

您想要的文件是 ratings.list.gz。排名前 250 的电影在第一部分列出。

【讨论】:

  • 我相信它们每周都会更新。无论如何,前 250 部电影不会每天发生太大变化。
  • 我编写了一个脚本,将所有.list.gz 文件转换为 JSON,这应该更容易使用:github.com/oxplot/imdb2json
  • Mansour:这些文件已经很大了,我猜 JSON 会更大,因为有用于格式化的标签。大多数人所做的是将它们加载到关系数据库中进行查询。我已经为 SQL Server 做了这个,其他人已经为 python/mysql 编写了一个解析器。
【解决方案2】:

是的,现在有一个名为 omdbapi 的 API

http://www.omdbapi.com/

【讨论】:

  • 不错的一个..!但它的功能非常有限。
  • @JayModi 我知道它仍然是我所知道的唯一一种类型
【解决方案3】:

可从那里获得:

http://api.myapifilms.com/imdb.do

获取它的网址:(您需要一个免费令牌)

 http://api.myapifilms.com/imdb/top?token=GET A FREE API KEY&format=json&data=0

(不是我的网站)

【讨论】:

    【解决方案4】:

    我也遇到了这个问题,我通过一些刮擦解决了它。这是 Python 代码:

    import requests
    import re
    
    top250_url = "http://akas.imdb.com/chart/top"
    
    
    def get_top250():
        r = requests.get(top250_url)
        html = r.text.split("\n")
        result = []
        for line in html:
            line = line.rstrip("\n")
            m = re.search(r'data-titleid="tt(\d+?)">', line)
            if m:
                _id = m.group(1)
                result.append(_id)
        #
        return result
    

    它返回前 250 部电影的 IMDb ID。然后,使用 imdbpy 包,您可以询问有关电影的所有信息,因为您有电影 ID。

    【讨论】:

      【解决方案5】:

      https://www.theimdbapi.com/ 这个很棒,我从现在开始使用

      【讨论】:

        猜你喜欢
        • 2012-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-17
        • 1970-01-01
        • 1970-01-01
        • 2019-10-20
        • 2015-05-06
        相关资源
        最近更新 更多