从IMDb获取即将上映的电影列表



我目前正在建立一个网站,其中一个块是即将上映的电影(下周左右)。我觉得IMDb是最好的网站。

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

有更好的方法吗?

我为我的应用程序做了同样的事情。由于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("{0}movie/upcoming?api_key={1}", basePath, apiKey);
    using (var client = new HttpClient())
    {
        var result = await client.GetStringAsync(url);
        return JsonConvert.DeserializeObject<MovieList>(result).Movies;
    }
}

themovieddatabase也返回Imdbd的ID。你可以用它来查询Imdb。我刚刚在我的iOS应用程序中打开了一个新的webview,如果用户愿意,可以让它在新页面中打开Imdb。

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

最新更新