如何使用Python从tmdB提取数据

我有一个来自Movielens的数据集,可以在这里找到这里。我的目标是为数据集中已有的所有电影ID添加所有电影的概述(数据集为tmdb和其他数据库提供了电影ID)。

我已经研究了tmdb为开发者提供的文档,但我只能一次提取单个电影的数据。我的目标是为数据框中包含的所有电影ID创建一个循环,并获取每个相应电影的“概述”。

我目前达到的最接近的点是:

pip install tmdbv3apifrom tmdbv3api import TMDbfrom tmdbv3api import Movietmdb = TMDb()tmdb.api_key = 'my API Key'tmdb.language = 'en'tmdb.debug = Truemovie = Movie()# 例如,ID为862的电影m = movie.details(862)print (m.overview)

这将为单个电影的概述提供我想要的结果,但当我尝试创建如下所示的循环时,它完全失败了。这很可能是错误的,但我甚至不知道根据tmdb API是否可以这样做:

movie = Movie()id = movie.details(int(movies.tmdbId))for id in movies["tmdbId"]: # 我的数据框   if id in tmdb.Movies(int(tmdb_id)): # tmdb数据库      print (m.overview)

我也知道这可以通过JSON文件和urllib.request来完成,我见过的最接近的例子是这个,它再次是针对一次一个电影的。

请原谅您可能看到的任何错误,我在这个领域是新手。

提前感谢您。

代码片段


回答:

我的声望不足以发表评论,所以我在这里指出这一点,似乎您不太理解for循环的工作原理。在for循环中,您定义的id变量将被movies[‘tmdbId’]的值覆盖。

至于解决方案,请尝试这个。

movie = Movie()id = movie.details(int(movies.tmdbId)) # 不确定为什么定义这个变量?for id in movies["tmdbId"]: # 我的数据框,我假设这是可迭代的   if movie.details(int(id)): # tmdb数据库,      m = movie.details(int(id))      print (m.overview)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注