【问题标题】:Get top 100 artists by genre Spotify API按流派 Spotify API 获取前 100 位艺术家
【发布时间】:2020-09-03 08:01:31
【问题描述】:

我正在做一个关于数据分析的大学项目,特别是,我正在尝试分析大流行之前和期间 Spotify 上听众的行为。

到目前为止,我每周下载前 200 名,并使用简单的脚本按州对其进行分组,您可以在此处找到数据:https://spotifycharts.com/regional

我还设法使用前 200 名来检索每首歌曲并提取特征、发布日期等...使用 Spotify API。

我读了这篇文章:Spotify genre trends during pandemic,这很有趣。我想效仿他们在文章中所做的事情。例如,他们能够按流派检索前 100 位艺术家。

我一直在寻找 Spotify API 和 Spotify 可用数据集,但找不到实现目标的解决方案。

有没有办法检索给定时期内按流派排名前 100 位的艺术家?

这是我用来下载每周前 200 名的代码,但对我的目标没有用:

import requests
import os
import time
path = os.getcwd()
states = ['br','it','gb','de','us','fr','es']

for state in states:
    dir_path = os.path.join(path, state)
    os.mkdir(dir_path)
    for week in weeks:
        csv_url = 'https://spotifycharts.com/regional/'+state+'/weekly/'+week+'/download'
        req = requests.get(csv_url)
        #print(req.status_code)
        time.sleep(0.5)
        if req.status_code == 200:
            url_content = req.content
            csv = ''+state+'_'+week+'.csv'
            csv_path = os.path.join(dir_path, csv)
            csv_file = open(csv_path, 'wb')

            csv_file.write(url_content)
            csv_file.close()
        else:
            print('error with the following file:'+str(csv_url))

其中weeks 是一个字符串列表,其中包含要在请求中下载的文件的文件名(之前用另一个代码生成,为清楚起见省略),例如:

2016-12-23--2016-12-30
2016-12-30--2017-01-06
2017-01-06--2017-01-13
2017-01-13--2017-01-20
2017-01-20--2017-01-27
2017-01-27--2017-02-03
2017-02-03--2017-02-10
2017-02-10--2017-02-17

【问题讨论】:

    标签: python dataset spotify


    【解决方案1】:

    博客声明

    我们收集了每个流派前 100 位艺术家的 MLs 数据,排名按 Spotify 关注者数量。

    无法直接从官方Spotify Web API 获取图表。 Chartmetric,写博客的公司可能有一个他们不会透露的抓取算法,因为他们的商业模式是出售这些统计数据。

    Spotify Web API Artists endpoint 为您提供艺术家的genres(及其关注者数量),因此如果您从其他来源(带有他们的 Spotify ID)获得艺术家排行榜,您可能会提取每个艺术家的流派并重新排名每个流派中的艺术家。这些类型可能需要根据您的需要重新分类。

    这个repo 使用带有数据范围的Search endpoint 作为主要查询参数(此处为:year:2000-2014),并创建了一个包含最多关注艺术家及其相应 Spotify ID 的数据库。这个 hack 似乎不再起作用了,因为当我尝试使用自己的身份验证令牌时,我不一定会得到排名结果。

    然后为了获得每月听众 (ML),博客提到了 the Spotify for Artist page。其中规定:

    每月听众是独特的听众,他们在 为期 28 天。此统计数据每天都会更新,并同时出现在您的 Spotify 上的艺人简介

    同样,Spotify API 不提供此数字,因此您需要创建一个艺术家页面并使用比较选项为其他艺术家获取它,或者每天在常规 Spotify 平台上抓取此数字。

    【讨论】:

    • 很遗憾 Spotify 除了简单的前 200 名图表之外没有提供这些数据,但我想这是他们业务的一部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    相关资源
    最近更新 更多