从 IMDb 获取即将上映的电影列表 [关闭]

Posted

技术标签:

【中文标题】从 IMDb 获取即将上映的电影列表 [关闭]【英文标题】:Get list of upcoming movies from IMDb [closed] 【发布时间】:2014-07-15 13:16:02 【问题描述】:

我目前正在建立一个网站,该网站中的一个板块展示了即将上映的电影(下周左右)。我发现 IMDb 是最好的去处。

问题是,IMDb 没有 API,我不知道如何从中提取数据并在我的网站中以我想要的方式显示它。在网上看了一点之后,我发现我可以使用 Ajax 下载页面,然后从那里找到并提取我需要的数据。但是,这对我来说似乎效率很低,我不知道如何在下载的文件中找到信息。

有没有更好的办法?

【问题讨论】:

【参考方案1】:

我为我的应用做了同样的事情。由于 Imdb 没有 API,我选择使用www.themoviedb.org。注册以获取 API 密钥,然后您可以查询他们的服务。文档位于此处:http://docs.themoviedb.apiary.io/。

这是在 PCL 内部,我使用 JSON.NET 进行(反)序列化,我使用 System.Net.Http 进行网络调用。两者都是nuget包。您还可以使用 http://json2csharp.com/ 从服务返回的示例 JSON 生成您的类。

我的应用中的示例:

private const string basePath = "https://api.themoviedb.org/3/";
private const string apiKey = "<your api key here>";

...

public async Task<IEnumerable<Movie>> GetUpcomingMovies(string title)

    string url = string.Format("0movie/upcoming?api_key=1", basePath, apiKey);

    using (var client = new HttpClient())
    
        var result = await client.GetStringAsync(url);
        return JsonConvert.DeserializeObject<MovieList>(result).Movies;
    

电影数据库还返回 Imdbd 的 ID。所以你可以用它来查询 Imdb。我刚刚在我的 ios 应用程序中打开了一个新的 webview,如果用户愿意,让它在新页面中打开 Imdb。

webview.LoadRequest(new NSUrlRequest(
     new NSUrl(string.Format("http://m.imdb.com/title/0", viewModel.ImdbId))));

【讨论】:

以上是关于从 IMDb 获取即将上映的电影列表 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

有没有任何网络服务可以给我 IMDb 的电影列表? [关闭]

Imdb上所有电影名称、演员、导演、作家的列表

猫眼查到的电影是不是会上映?

如何从 imdb 获取更多信息并将其保存在 pandas 数据框中? [复制]

从 IMDbPy 结果中的电影目录中获取电影 ID

IMDB API-从列表中检索所有电影?