电影数据库api的清晰而独特的包装。
isle的Python项目详细描述
电影数据库python包装器
isle
是电影数据库api的清晰而独特的包装器。
目录
要求
- Python3.6+
- 除了标准库之外,没有依赖项
安装
使用pip
:
pipinstallisle
tmdb api键
将tmdb api密钥导出为环境变量:
$ exportTMDB_API_KEY='YOUR_API_KEY'
或者设置tmdb_api_键
变量:
importisleisle.TMDB_API_KEY='YOUR_API_KEY'
功能
搜索
搜索功能按姓名或头衔查找电影、电视节目、人员或公司。
所有搜索函数都是生成器
>>>importinspect>>>importisle>>>inspect.isgenerator(isle.search_movie)True>>>inspect.isgenerator(isle.search_show)True>>># and so on.
孤岛搜索电影(查询:str,**kwargs)
搜索电影。它生成电影
实例。
让我们搜索小津的"东京故事":
>>>formovieinisle.search_movie("Tokyo Story"):...print(movie)Movie(18148)Movie(528533)...Movie(104343)
我们只得到第一个结果:
>>>tokyo_story=next(isle.search_movie("Tokyo Story",year=1953))>>>tokyo_storyMovie(18148)
有几个关键字参数:
年份
-按发行年份筛选电影区域
-过滤发布日期。必须是ISO 3166-1代码(大写)。包含成人
-选择是否在结果中包含成人(色情)内容(bool)。language
-显示支持它的字段的翻译数据(在movie
对象中的一些默认值)。必须是ISO 639-1代码。
孤岛搜索显示(查询:str,**kwargs)
搜索电视节目。它生成show
实例。
>>>castle_rock=next(isle.search_show("Castle Rock"))>>>castle_rockShow(71116)
有一个关键字参数first_air_date_year
,可以指定该参数以获得更准确的结果。
孤岛搜索人员(查询:str,**kwargs)
寻找人。它生成个人
实例。
>>>john_cassavetes=next(isle.search_person("John Cassavetes"))>>>john_cassavetesPerson(11147)
有语言
,区域
和包含成人
关键字参数(请参阅上面关于搜索电影
的部分了解它们的变化)。
孤岛搜索公司(查询:str,**kwargs)
搜索公司。它生成公司
实例。
>>>lucasfilm_company=next(isle.search_company("Lucasfilm"))>>>lucasfilm_companyCompany(1)
发现
与搜索函数一样,所有发现函数也是生成器。但是,这些搜索不按名称或标题搜索,而是按不同类型的数据(如平均评分、投票数、类型和认证)来描述电影或电视节目。
< Buff行情>要了解选项
,您需要阅读这篇文章和这篇文章。
isle.discover_movies(选项:dict)
根据不同类型的数据发现电影。
让我们来看看杰森·施瓦茨曼的前三部电影:
pipinstallisle0
isle.discover_显示(选项:dict)
根据不同类型的数据发现电视节目。它的工作原理与"发现电影"类似,但请注意,选项不同。
让我们来看看tmdb上最受欢迎的3个电视节目:
pipinstallisle1
查找
孤岛查找(外部id:str,*,src:str,**选项)
函数搜索对象(电影、电视节目和人物)通过外部id(例如imdb id)。它在一个响应中返回结果。
pipinstallisle2
其他
其他函数返回一些常规信息,如tmdb支持的类型、语言、时区。
让我们列出它们(您始终可以使用内置的help
函数查看更多信息):
isle.get_movie_认证(country=none)
isle.get_show_认证(country=none)
孤岛获取电影类型(objects=false)
isle.get_show_genres(objects=false)
isle.get_image_configurations()
isle.get_countries(objects=false)
isle.get_jobs()
isle.get_languages(objects=false)
isle.get_primary_translations()
isle.get_timezones()
对象
让我们仔细看看电影
,节目
,人物
和公司
对象。
它们可以由tmdb id初始化,也可以通过search和discover函数获得(如上文所示)。
它们可以以两种不同的方式使用:使用返回原始响应的方法或使用属性来丰富具有更多功能的对象(如下所示)
电影
表示电影。它可以用tmdb id初始化。
pipinstallisle3
现在电影
不包含除id之外的任何数据。它还没有向api发出任何请求(您可以看到n_requests
属性发出了多少请求)。
pipinstallisle4
方法
电影
(以及其他对象,例如show
、person
或company
)具有获取某物>;
和iter<;某物>;
方法。让我们列出它们:
get_all()
获取其他标题()
获取更改()
get_credits()
获取详细信息()
获取外部id()
获取图像()
获取关键字()
获取发布日期()
get_translations()
获取视频()
iter_lists()
iter_recommendations()
iter_reviews()
iter_similar_movies()
每个方法只向api发出一个请求。这就是为什么最佳实践是使用get_all()
方法,而不是调用其他几个方法。因此,不要执行以下操作:
pipinstallisle5
执行以下操作:
pipinstallisle6
所有接收到的数据都保存在data
属性中。现在它包含了所有的数据,因为我们调用了get_all()
方法。
pipinstallisle7
使用方法接收的所有数据的结构与原始API响应中的结构相同。
属性
获取数据的另一种方法是使用属性(这实际上是最好的方法)。
让我们看一个例子。如果你需要不同语言的电影片名呢?您可以调用get_all()
并从数据中检索标题
属性:
pipinstallisle8
或者您可以使用标题
属性:
pipinstallisle9
同样,您也可以使用概述
属性:
$ exportTMDB_API_KEY='YOUR_API_KEY'0
调用属性时,它会在data
属性中搜索所需的数据,如果没有此类数据,它会在幕后调用get_all()
。调用标题
属性后,所有原始数据将下载到数据
属性。
$ exportTMDB_API_KEY='YOUR_API_KEY'1
当search_movie
和discover_movie
函数返回movie
实例,它们向数据
属性添加初始数据。
$ exportTMDB_API_KEY='YOUR_API_KEY'2
同样,movie
在person
和company
实例的data
属性中添加一些初始数据:
$ exportTMDB_API_KEY='YOUR_API_KEY'3
使用内置的"帮助"功能查看所有可用属性。
显示
,人员
和公司
这些对象类似于电影。它们还具有执行所有常规工作的方法和属性。
主要区别在于公司
没有get_all()
方法,因此,在后台,它可以调用几个get
方法(尽管主要信息由get_details()
返回)。
$ exportTMDB_API_KEY='YOUR_API_KEY'4
季
,集
,学分
及其他
season
由show
返回(而season
则返回集)。这些对象和
credit
也与上面的主要对象相似。
$ exportTMDB_API_KEY='YOUR_API_KEY'5
季节:
$ exportTMDB_API_KEY='YOUR_API_KEY'6
插曲:
$ exportTMDB_API_KEY='YOUR_API_KEY'7
学分:
$ exportTMDB_API_KEY='YOUR_API_KEY'8
有几个对象,如语言
、国家
、流派
、关键字
和投票
。它们只是类似于对象。
$ exportTMDB_API_KEY='YOUR_API_KEY'9
还有一个图像
。它包含的属性与原始dict中的属性相同,这些属性与向tmdb api发出请求的属性raw dict:纵横比
,文件路径
,宽度
,高度
等。s.themoviedb.org/3/configuration/get-api-configuration" rel="nofollow">图像配置,并返回dict
,返回图像的完整URL。
importisleisle.TMDB_API_KEY='YOUR_API_KEY'0
帐户
要开始使用tmdb用户帐户,请创建帐户的实例并使用用户名和密码登录:
importisleisle.TMDB_API_KEY='YOUR_API_KEY'1
不要试图找出如何在电影
实例中为电影打分,或者如何在列表
实例中添加新列表。所有这些都可以通过用户帐户完成,可以通过帐户
实例来完成。
率:
importisleisle.TMDB_API_KEY='YOUR_API_KEY'2
观察列表:
importisleisle.TMDB_API_KEY='YOUR_API_KEY'3
以及其他事项:
importisleisle.TMDB_API_KEY='YOUR_API_KEY'4