python 从MusicBrainz获取/处理JSON数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 从MusicBrainz获取/处理JSON数据相关的知识,希望对你有一定的参考价值。

import requests
import json


BASE_URL = "http://musicbrainz.org/ws/2/"
ARTIST_URL = BASE_URL + "artist/"
query_type = {  "simple": {},
                "atr": {"inc": "aliases+tags+ratings"},
                "aliases": {"inc": "aliases"},
                "releases": {"inc": "releases"}}

def query_site(url, params, uid="", fmt="json"):
    params['fmt'] = fmt
    r = requests.get(url + uid, params=params)

    if r.status_code == 200:
        return r.json()
    else:
        r.raise_for_status()


def query_by_name(url, params, name):
    params['query'] = ''.format('artist:{0}', name)
    return query_site(url, params)


def pretty_print(data, indent=4):
    if type(data) == dict:
        print(json.dumps(data, indent=indent, sort_keys=True))
    else:
        print(data)


def main():
    results = query_by_name(ARTIST_URL, query_type['simple'], 'Nirvana')
    pretty_print(results)


if __name__ == '__main__':
    main()

以上是关于python 从MusicBrainz获取/处理JSON数据的主要内容,如果未能解决你的问题,请参考以下文章

musicbrainz api 获取所有发布组和发布日期

Musicbrainz 指纹识别

Musicbrainz 艺术家形象和信息

如何使用 Telnet 获取网页 xml 内容

如何对 MusicBrainz 搜索 API 的结果进行排序

Use MusicBrainz in iOS查询专辑的完整信息