资讯专栏INFORMATION COLUMN

这可能是我用过最“强大”的API:Marvel API

Near_Li / 1511人阅读

我们在编程教室中写过不少使用 API 开放接口 的案例,比如:

查询书影音的 豆瓣 (爬虫+网站开发实例:电影票比价网)

查询股票的 tushare (想用 Python 做数据分析?先玩玩这个再说)

翻译单词的 词霸 (【每周一坑解答】自动翻译)

用来做人工智能的 腾讯AI (调教属于你的“贾维斯”)

但以上这些都不是我今天要说的。今天要说的这个接口,之所以称为“强大”,因为 它返回的内容里蕴含了未知的巨大能量,大到可以轻松毁灭宇宙 N 次……

没错,这就是 Marvel 向开发者开放的 API

官网地址:https://developer.marvel.com/

数据涵盖的内容主要是 Marvel 相关的漫画作品信息,包含:

1491 个 角色

43759 本 漫画

6200 个 创作者

10713 个 系列

96740 个 故事

75 个 事件

以及这几样数据之间的相互关联关系。比如你可以通过一个角色查到其所出场的事件,或者一个创作者所参与过的角色。

我做了一个简单的小演示,可通过名字查询相关的角色:

以及通过角色 ID 查询其出现的漫画:

Marvel API 不是完全公开访问,需要先申请 ,不过没有任何门槛(只要看得懂英文)。使用接口时,常规操作是按照官方提供的方式, 将申请获得的公钥、密钥加上时间戳进行 MD5 加密,作为权限的验证放在参数里,通过 GET 方式进行请求 (可以用 requests)。

而我这里用了一个第三方封装好的 Python 库 marvel ,省了不少工作,所以核心代码很简单:


import marvel
from IPython.display import Image, HTML, display
PUBLIC_KEY = "你的公钥"
PRIVATE_KEY = "你的私钥"
m = marvel.Marvel(PUBLIC_KEY, PRIVATE_KEY)
characters = m.characters
name = input("请输入要查询的英雄(英文,可只输入开头):")
print("搜索中...")
all_characters = characters.all(nameStartsWith=name)

第三方库地址:https://pypi.org/project/marvel/

Marvel 的这个 API,我觉得是个非常好的练手工具。作为一个学习者,你可以从使用中学到:

公钥、私钥、MD5加密的使用(接口权限验证)

API的调用,参数传递,JSON返回数据的处理

多维度数据的整理分析

还有,英文文档的阅读

让我有点遗憾的是,数据中并没有太多英雄角色相关的数据,不然就更有意思了。

对于这个接口的应用,我有几个思路供参考:

做一个爱好者网站或者小程序,对数据提供检索和整理展示

数据分析,看看哪些角色最受欢迎,哪个作者最勤奋,角色之间的相互关系等

小游戏,比如集卡之类。(当然,非商业的)

早前我也推荐过豆瓣的 API,不过豆瓣现已把开发者页面下线,无法查看具体接口说明,之后会不会对外关闭也很难说了。Marvel API 相比豆瓣 API 来说要复杂一些,主要是权限认证的部分。另外,在使用时还有一些要求,如果你之后将作品对外展示,请务必注意:

请求上限 1000次/天(但在我的个人页面上看到是 3000),并且需要设定请求来源网址(referrer)。建议通过自建缓存,以减少请求量

需要在所有用到接口数据的页面上标注 "Data provided by Marvel. 2014 Marvel"

需提供到 Marvel 官网的反链( http:// marvel.com

返回接口里的图片 URL 不是直接可访问的,需添加上所需图片尺寸和文件类型,拼出完整路径

经常有同学说学了编程之后不知道去开发点什么。其实可以做的东西比比皆是,需要有发现需求的眼睛。暂时没有这方面敏感度也不要紧, 多看看我们的文章,跟着我们做 。如果你碰巧又是漫威粉,那就更应该尝试一下了。之后我们也会在此数据基础上开发一些案例,敬请期待。(立个Flag:争取跟《复联4》同步上线)

文中所使用的代码已上传,获取代码请在公众号( Crossin的编程教室 )里回复关键字 漫威

════

其他文章及回答:

学编程:如何自学Python | 新手引导 | 一图学Python

开发案例:智能防挡弹幕 | 红包提醒 | 流浪地球

欢迎搜索及关注: Crossin的编程教室

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43478.html

相关文章

  • 从数据上看:谁才是漫威绝对C位

    摘要:据说此部之后,不少影迷熟知的角色演员就要离开漫威世界的荧幕了。换句话说用数据说话,谁才是漫威宇宙中着墨最多的人物我之前做了个小调查仅就我这边的采样来看,钢铁侠在国内是无法撼动的人气王。 复联4上映了!这次比美国还早了两天。当然,我还没看,不会给你们剧透,当然也不想不剧透。 这一部不仅是灭霸这一线剧情的结局,也被认为漫威第三阶段的收官之作。据说此部之后,不少影迷熟知的角色(演员)就要离开...

    RancherLabs 评论0 收藏0
  • PHP 开发者应了解 24 个库

    摘要:下面是一个例子这个库要求你至少安装了和其中的一个,这可能意味着,在大多数主机提供商提供的主机上它可能用不了。借助它,你可以忘记如何书写乏味的有一个姊妹库叫,是一个基于的实现。 showImg(http://segmentfault.com/img/bVbJml); 作为一个PHP开发者,现在是一个令人激动的时刻。每天有许许多多有用的库分发出来,在 Github 上很容易发现和使用这些库...

    0x584a 评论0 收藏0
  • SAP S4CRM和C4C技术比较

    摘要:在以下简称和以下简称开发团队都工作过,这篇文章给出这两款产品一些技术层面的比较。标准开发方式和的虽然看起来都是风格,但实现技术不同。而的标准则是基于和协作而成的。 如果您对SAP S/4HANA for Customer Management(以下简称S4CRM)和SAP Cloud for Customer(以下简称C4C)不甚熟悉,那我建议您可以先浏览我之前写的这两篇微信公众号文章...

    xi4oh4o 评论0 收藏0
  • SAP S4CRM和C4C技术比较

    摘要:在以下简称和以下简称开发团队都工作过,这篇文章给出这两款产品一些技术层面的比较。标准开发方式和的虽然看起来都是风格,但实现技术不同。而的标准则是基于和协作而成的。 如果您对SAP S/4HANA for Customer Management(以下简称S4CRM)和SAP Cloud for Customer(以下简称C4C)不甚熟悉,那我建议您可以先浏览我之前写的这两篇微信公众号文章...

    littleGrow 评论0 收藏0

发表评论

0条评论

Near_Li

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<