API 或任何其他方式访问 IMDB TOP 250 列表?
Posted
技术标签:
【中文标题】API 或任何其他方式访问 IMDB TOP 250 列表?【英文标题】:API or any other way to access IMDB TOP 250 list? 【发布时间】:2012-07-26 04:49:56 【问题描述】:我进行了广泛的研究,发现我找不到 API。是否有任何可用的 API 来获取 TOP 250 列表?
或者通过其他方式访问列表?
我尝试访问页面 html 并在我的 JSP 后端进行解析。但这里的问题是我只得到一个骨架,列表作为 AJAX 加载。
任何网络抓取方式?
任何使用想法将不胜感激......
【问题讨论】:
为什么不对脚本调用的端点发出请求(进行 ajax 调用)? Does IMDB provide an API? 的可能重复项 我上面评论中的链接包含解决方案。 但没有办法获得 TOP 250 名单。我在“TOP 250 名单”上是具体的 【参考方案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/ 这个很棒,我从现在开始使用
【讨论】:
以上是关于API 或任何其他方式访问 IMDB TOP 250 列表?的主要内容,如果未能解决你的问题,请参考以下文章