电影数据库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)

根据不同类型的数据发现电影。

让我们来看看杰森·施瓦茨曼的前三部电影:

pipinstallisle
0

isle.discover_显示(选项:dict)

根据不同类型的数据发现电视节目。它的工作原理与"发现电影"类似,但请注意,选项不同。

让我们来看看tmdb上最受欢迎的3个电视节目:

pipinstallisle
1

查找

孤岛查找(外部id:str,*,src:str,**选项)

函数搜索对象(电影、电视节目和人物)通过外部id(例如imdb id)。它在一个响应中返回结果。

pipinstallisle
2

其他

其他函数返回一些常规信息,如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初始化,也可以通过searchdiscover函数获得(如上文所示)。

  • 它们可以以两种不同的方式使用:使用返回原始响应的方法或使用属性来丰富具有更多功能的对象(如下所示)

电影

表示电影。它可以用tmdb id初始化。

pipinstallisle
3

现在电影不包含除id之外的任何数据。它还没有向api发出任何请求(您可以看到n_requests属性发出了多少请求)。

pipinstallisle
4

方法

电影(以及其他对象,例如showpersoncompany)具有获取某物>;iter<;某物>;方法。让我们列出它们:

  • get_all()
  • 获取其他标题()
  • 获取更改()
  • get_credits()
  • 获取详细信息()
  • 获取外部id()
  • 获取图像()
  • 获取关键字()
  • 获取发布日期()
  • get_translations()
  • 获取视频()
  • iter_lists()
  • iter_recommendations()
  • iter_reviews()
  • iter_similar_movies()

每个方法只向api发出一个请求。这就是为什么最佳实践是使用get_all()方法,而不是调用其他几个方法。因此,不要执行以下操作:

pipinstallisle
5

执行以下操作:

pipinstallisle
6

所有接收到的数据都保存在data属性中。现在它包含了所有的数据,因为我们调用了get_all()方法。

pipinstallisle
7

使用方法接收的所有数据的结构与原始API响应中的结构相同。

属性

获取数据的另一种方法是使用属性(这实际上是最好的方法)。

让我们看一个例子。如果你需要不同语言的电影片名呢?您可以调用get_all()并从数据中检索标题属性:

pipinstallisle
8

或者您可以使用标题属性:

pipinstallisle
9

同样,您也可以使用概述属性:

$ exportTMDB_API_KEY='YOUR_API_KEY'
0

调用属性时,它会在data属性中搜索所需的数据,如果没有此类数据,它会在幕后调用get_all()。调用标题属性后,所有原始数据将下载到数据属性。

$ exportTMDB_API_KEY='YOUR_API_KEY'
1

search_moviediscover_movie函数返回movie实例,它们向数据属性添加初始数据。

$ exportTMDB_API_KEY='YOUR_API_KEY'
2

同样,moviepersoncompany实例的data属性中添加一些初始数据:

$ exportTMDB_API_KEY='YOUR_API_KEY'
3

使用内置的"帮助"功能查看所有可用属性。

显示人员公司

这些对象类似于电影。它们还具有执行所有常规工作的方法和属性。

主要区别在于公司没有get_all()方法,因此,在后台,它可以调用几个get方法(尽管主要信息由get_details()返回)。

$ exportTMDB_API_KEY='YOUR_API_KEY'
4

学分及其他

seasonshow返回(而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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javaiworkspaceroot。getFileForLocation()返回null   java如何最小化输入异常   java在从Classloader加载“scl”字段时没有此类字段异常   JAVAutil。JavaEE中ManagedExecutorService和ManagedThreadFactory的并发差异   ArraysJava,与数组处于相同位置的元素之和   java Hibernate 5没有FieldHandled类   java如何使用hibernate只验证特定的表   使用不同端口的java UDP读/写   返回集合的类型。使用java在mongodb中查找   java取消在JFileChooser中选择文件而不关闭对话框   为什么在Java中,将16右移32得到16而不是0?16> >32=16为什么?   java在创建apk文件时发现错误“:app:mergeDebugResources”   java为什么我的会话创建策略设置为无状态时Spring Security的SessionManagementFilter会运行?   避免耦合的多文件格式的java句柄转换