“查询spotify元数据服务的库

spotimeta的Python项目详细描述


简介

spotimeta是一个从spotify的元数据api获取数据的简单库。 可用功能包括搜索艺术家、相册和曲目 基于spotifyuri查找相同的内容。数据返回为 简单的python字典。

注意:

本产品使用Spotify API,但未经认可、认证或其他 Spotify以任何方式批准。Spotify是 Spotify集团。

有关元数据API的详细信息,请参见
http://developer.spotify.com/en/metadata-api/overview/

示例

>>> import spotimeta

搜索曲目

>>> search = spotimeta.search_track("Trip back to childhood")
>>> search["total_results"]
1

打印该曲目的艺术家

>>> artist = search["result"][0]["artist"]
>>> artist["name"]
u'St-Petersburg Ska-Jazz Review'

查找有关该艺术家的详细信息:

>>> lookup = spotimeta.lookup(artist["href"], detail=1)
>>> for album in lookup["result"]["albums"]:
...     album["name"]
u'Too Good To Be True'
u'Too Good To Be True'
u'Live At The Red Club'

还可以使用spotify url查找元数据:

>>> track = spotimeta.lookup("http://open.spotify.com/track/3Z8cX6y0SeJIsI3yxoaQ8K")
>>> print track["result"]["artist"]["name"], "-", track["result"]["name"]
Kings Of Leon - Closer

对于除simples用例之外的任何情况,都应该使用缓存。 通过创建元数据实例并将其传递给 映射类型的东西。例如字典:

>>> metacache = {}
>>> metadata = spotimeta.Metadata(cache=metacache)

元数据实例与模块本身具有完全相同的方法。 只要存在缓存对象集,缓存就会自动发生。

>>> data = metadata.lookup("spotify:track:3kofFW93aMr28qx1BKps7A")
>>> data = metadata.lookup("spotify:track:3kofFW93aMr28qx1BKps7A")

这只会引起一个请求。数据被缓存了很长时间 正如第一个请求的到期头所说的那样。

待办事项

    Sphinxify博士
  • 用于搜索的测试用例,而不仅仅是搜索解析器
  • 处理所有修复程序

更改日志

请参见更改日志文件

联系人

作者是rune halvorsen<;runefh@gmail.com>;。项目位于 http://bitbucket.org/runeh/spotimeta。如果你发现了漏洞,或者有 请求,请在项目站点问题跟踪程序中报告它们。修补程序 非常欢迎。

此外,请参见authors文件以获取参与者的完整列表

许可证

此软件是根据New BSD License授权的。请参阅LICENCE 文件位于顶级分发目录中,以获取完整的许可证文本。

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

推荐PyPI第三方库


热门话题
java如何处理CannotCreateTransactionException   安卓如何通过TensorFlowEnferenceInterface提供布尔占位符。JAVA   java是一个系统。出来默认情况下println线程安全?   java关于同步的重要性   java非法启动表达式/尚未对编码充满信心欢迎帮助   安卓为什么XML和Java中的ImageView测量不同?   Android乘以双精度整数[java]   java如何将下一个数组项设置为变量的新值?   java编译ikvmc pwswiftcoreXXXX。jar作为clr。动态链接库   java测试没有单元测试调用的私有方法   在java中如何划分重复的正则表达式模式?   java活动不刷新onCreate()中的布局   Java用户输入nextLine()不等待输入   oracle11g用java编写ORACLE BLOB文件   mysql如何在Java程序中使用Hibernate?   java ADF从托管bean调用有界taskflow