在Python使用漫威 API 查找漫威超级英雄的漫画
在本文中,我们将通过使用Python和marvel api找到marvel的漫画。 Marvel 提供了一个 API,可以查看他们的数据库,其中包含各种漫画、电影等。我们将使用它来找出您最喜欢的漫威超级英雄漫画书。
Marvel Comics API 是一种工具,可帮助世界各地的开发人员使用漫威漫画时代 70 多年的数据创建令人惊叹、不可思议且令人难以置信的网站和应用程序。
Marvel Comics API 是一种 RESTful 服务,它提供了访问规范 URL 上的特定资源以及按各种条件搜索和过滤资源集的方法。所有表示都被编码为 JSON 对象。
您可以使用 API 访问六种资源类型:
- 漫画:个人印刷和数字漫画问题、收藏和图画小说。例如:惊人的幻想#15。
- 漫画系列:按顺序编号(好吧,主要是按顺序编号)组具有相同标题的漫画。例如,不可思议的X战警。
- 漫画故事:漫画的不可分割、可重复使用的组成部分。例如,Amazing Fantasy #15 的封面或该漫画中蜘蛛侠故事的起源。
- 喜剧事件和跨界事件:大的、改变宇宙的故事情节。例如,无限
- 创作者:创作漫画的女性、男性和组织。例如,杰克柯比。
- 字符:女性、男性、组织、外星物种、神灵、动物、非物质实体、跨维度表现、抽象拟人化和占据漫威宇宙(以及其中的各种替代宇宙、时间线和改变的现实)的绿色无定形斑点)。例如,蜘蛛侠。
在本文中,我们将尝试从漫威 API 中获取特定字符,然后我们将生成该特定字符出现的漫画。
安装奇迹包
pip install marvel
获取api密钥:
第 1 步:首先访问他们的网站 https://developer.marvel.com/,现在点击左上角的“登录 |加入”选项,然后单击“创建帐户”,现在提供您的详细信息,然后单击“创建帐户”选项,如下所示
第 2 步:登录后,您将被重定向到他们的主页,该页面将显示您的帐户现已登录,但为了首先获取 API 密钥,您必须确认 Marvel 在您的邮箱上发送给您的邮件指定的电子邮件地址以进行验证。检查您的邮箱,会有一封由 Marvel 发送的邮件。打开它,然后单击“确认”选项
第 3 步:之后,您必须返回您刚刚创建帐户的 Marvel 开发者门户,现在在左上角将显示您的用户名而不是登录选项,否则请参阅再迈步。之后,在网站的中间中心部分,您会找到一个选项“获取密钥”,单击该选项
第 4 步:之后,您将被重定向到他们的 API 使用条款页面。只需向下滚动到底部(或者您可以根据需要阅读)并单击接受。现在,我们走了,最后我们将到达将向您显示两个最重要的密钥和其他重要信息的页面。只需复制私钥和公钥并将它们存储在计算机上的安全文件夹中。该页面将如下所示
注意:将这些密钥保存在私人文件夹中,不要与其他人共享。
方法:
- 首先从 Marvel 包中导入 Marvel
from marvel import Marvel
- 之后像这样输入你的公钥和私钥
m = Marvel(PUBLIC_KEY, PRIVATE_KEY)
- 现在有六个对象,分别是字符、漫画、创作者、事件、系列和故事。检查:https://pypi.org/project/marvel/ 了解更多信息
characters = m.characters comics = m.comics creators = m.creators events = m.events series = m.series stories = m.stories
- 上述每个对象都返回适当的响应 (JSON),但从这里我们只对获取第一个字符对象感兴趣。
- 现在每个超级英雄都有一个相关的序列号,找出一个名为“3-D 人”的罕见超级英雄并发现他的漫画。
- 为了获得漫画,我们有这样的语法
# where x is the serial code of your
# superhero
comics = characters.comics(1011334)
- 我们将在我们的代码中将此漫画字典存储为 all_characters 字典
下面是实现:
Python3
# importing the marvel module
from marvel import Marvel
m = Marvel("8e6845d48fcb5b7dbec2bc3784b9d2be",
"2a6e5c6ad9fb7000cbee68c881b0c8c816bc9eb7")
# getting the characters object
characters = m.characters
# serial code of your favourite character
# this can be different according to your preference
x = 1011334
for n in range (0, 6):
# serach for comics of this character
all_characters=characters.comics(x)
x = x+1
for i in range (1,12):
print(all_characters['data']['results'][int(i)]['title'])
输出: