Python para coletar dados do Spotify - Buscando por álbuns e músicas
Aprenda como utilizar a API do Spotify para coletar dados das músicas e álbuns mais tocados da atualidade.
O próprio Spotify mantém uma página oficial com informações das APIs mantidas pela comunidade para acessar os seus dados. Vamos utilizar a biblioteca escrita em Python para acessar todo o conteúdo da plataforma do Spotify.
A documentação da versão 2.19 está disponível aqui.
Conseguindo seu ClientID e Client Secret
O primeiro passo é logar no site oficial do Spotify ou criar uma conta caso você ainda não tenha uma. É de graça.
Após o login, procure a opção Developers na parte inferior da tela e sem seguida clique em Dashboard ou vá direto no link
Escolha a opção Create an App:
Depois de criar o aplicativo, o site lhe fornecerá um ClientID e um Client Secret, usaremos essa informação para conectar no spotify e baixar os dados das músicas e albuns.
Não utilize os dados da figura acima, acesse a sua conta e obtenha as suas próprias credenciais.
Primeiro iremos instalar a biblioteca Spotify e em seguida autenticar utilizando as credenciais que conseguimos no site oficial:
Consultando Álbuns
Utilizaremos o método search para buscar os dados. Esse método aceita diversas configurações de consultas, por álbum, artista, música, ano e etc.
Na documentação da API podemos verificar que todas as respostas as consultas serão em estruturas de dados de um json. Todas as consultas com o search possuem um limite de 50 itens no retorno. Para simplificar o nosso teste utilizaremos 10 para a variável limit.
Com a consulta abaixo pesquisamos por álbuns que tenham o nome “barão”. Os primeiros 10 álbuns encontrados ficam armazenados com dicionários e com o código abaixo conseguimos acessar o conteúdo do primeiro elemento/item:
Alguns atributos como ‘available_markets ’ não são relevantes para a nossa pesquisa, por isso vamos utilizar apenas os atributos abaixo:
Existem várias alternativas para varrer todas os 10 álbuns consultados, com o código abaixo você consegue imprimir de um por um todos os álbuns armazenados:
Exemplo dos três primeiros álbuns listados para a palavra chave ‘barão’:
Nome: Barão Pra Sempre
Nome Artista: Barão Vermelho
Id do Artista 5zq0SGWxrmzpTSXkBEQzMj
de Lançamento: 2018–04–20
Número de músicas 9
URI: spotify:album:4iBQN73xgA56iyWf7DfZmK
— — — — — — — —
Nome: iCollection — Barão Vermelho
Nome Artista: Barão Vermelho
Id do Artista 5zq0SGWxrmzpTSXkBEQzMj
Data de Lançamento: 2012–04–23
Número de músicas 20
URI: spotify:album:5CtS9j4kbLFsj53rbcphZ8
— — — — — — — —
Nome: Barão Vermelho 2
Nome Artista: Barão Vermelho
Id do Artista 5zq0SGWxrmzpTSXkBEQzMj
Data de Lançamento: 1983–01–01
Número de músicas 11
URI: spotify:album:3tPQA9m5HhUPxFi14K9YRr
Podemos observar que o Artista/Banda Barão Vermelho possui o ID igual a 5zq0SGWxrmzpTSXkBEQzMj , utilizando esse ID diretamente no método artist_albums conseguimos obter todos os albúns de um artista ou banda específica.
O resultado impresso com esse for é:
VIVA (Banda: Barão Vermelho )
Barão Pra Sempre (Banda: Barão Vermelho )
Barão Vermelho (Edição Especial 30 Anos) (Banda: Barão Vermelho )
iCollection — Barão Vermelho (Banda: Barão Vermelho )
Warner 30 anos (Banda: Barão Vermelho )
Buscando Músicas
Para buscar músicas utilizamos novamente o search, dessa vez com o type igual a ‘track’ e utilizando na query de consulta a palavra-chave track: e o que desejamos buscar.
No exemplo vou procurar por músicas com a palavra levitating, essa foi uma das mais tocadas de 2021 nos EUA.
Observem o resultado das 4 primeiras músicas que apareceram na consulta:
Levitating (feat. DaBaby) — por — Dua Lipa
ID da música: 5nujrmhLynf4yMoMtj8AQF
ID Artista/Banda — 6M2wZ9GZgrQXHCFfjv46we
— — —
Levitating — por — Dua Lipa
ID da música: 39LLxExYz6ewLAcYrzQQyP
ID Artista/Banda — 6M2wZ9GZgrQXHCFfjv46we
— — —
Levitating (feat. DaBaby) — por — Dua Lipa
ID da música: 463CkQjx2Zk1yXoBuierM9
ID Artista/Banda — 6M2wZ9GZgrQXHCFfjv46we
— — —
Levitating — por — Kidz Bop Kids
ID da música: 0jElcVB3zyu75HmlrbA8XE
ID Artista/Banda — 1Vvvx45Apu6dQqwuZQxtgW
— — —
Curioso é que o artista Kidz Bop é o autor da quarta música, trata-se de uma marca que regrava músicas famosas com voz de crianças. É uma estratégia de conseguir popularidade.
Há muitas possibilidades de análise ao acessar os dados do Spotify, caso queira realizar outros testes usem o Notebook do Colab no Github como ponto de partida.
Para mais conteúdo acesse @aprendadatascience.