Base de Dados

spotify_artist_dataframe

Módulo de dados do Spotify

Esse módulo contém funções responsáveis por gerar um dataframe a partir dos dados da plataforma Spotify.

spotify_artist_dataframe.artist_albums_data(sp, artist_id, get_singles=False, duplicate=False)

Pesquisa dentro da plataforma Spotify por todos os álbuns relacionados ao ID do artista dado e retorna uma lista de dicionários

Parameters
  • sp (<class ‘spotipy.client.Spotify’>) – Objeto principal da API

  • artist_id (str) – ID do artista

  • get_singles (bool, opcional) – Valor booleano opcional que caso seja True, será pesquisado informações sobre álbuns single, padrão como False.

  • duplicate (bool, opcional) – Valor booleano opcional que caso seja True, não será desconsiderado duplicatas de álbuns, padrão como False.

Returns

Lista de dicionários contendo informações sobre os álbuns

Return type

list[dict]

Warning

Lista de dicionários de álbuns gerados pela função com parâmetro duplicate = True não são recomendados pela falta de suporte a esse tipo nessa versão!

spotify_artist_dataframe.artist_albums_track_data(sp, albums_data)

Pesquisa dentro da plataforma Spotify pelos dados de cada track em cada álbum e retorna uma lista de dicionários por track.

Parameters
  • sp (<class ‘spotipy.client.Spotify’>) – Objeto principal da API

  • albums_data (list[dict]) – Lista de dicionários contendo dados dos álbuns

Returns

Lista de dicionários contendo dados de cada track

Return type

list[dict]

spotify_artist_dataframe.autentication(client_id, client_secret)

Recebe um client ID e um cliente secret para realizar autenticação e retornar credenciais.

Parameters
  • client_id (str) – Cadeia de caracteres alfa-numérica única para cada cliente gerada pela plataforma Spotify representando seu ID.

  • client_secret (str) – Cadeia de caracteres alfa-numérica única para cada cliente gerada pela plataforma Spotify representando seu secret.

Returns

Retorna um objeto de credenciais

Return type

<class ‘spotipy.oauth2.SpotifyClientCredentials’>

Note

Client IDs e Client secrets são gerados pela plataforma Spotify e tem validade de duração

spotify_artist_dataframe.generate_dataframe(artist_name, tracks_data, save_csv=False)

Função que gera um dataframe a partir dos dados das tracks no formato de listas de dicionários contendo os dados, caso save_csv = True, um arquivo .csv será gerado em caminho pré-definido e informado por console.

Parameters
  • artist_name (str) – Nome do artista

  • tracks_data (list[dict]) – Lista de dicionários contendo dados das tracks

  • save_csv (bool, opcional) – Valor booleano que caso True, irá gerar um arquivo .csv, padrão False

Returns

Dataframe com os dados das tracks

Return type

pandas.core.frame.DataFrame

spotify_artist_dataframe.get_artist_id(sp, artist)

Pesquisa pelo ID do artista dentro da plataforma Spotify

Parameters
  • sp (<class ‘spotipy.client.Spotify’>) – Objeto principal da API

  • artist (str) – Artista escolhido

Returns

Retorna o ID do artista dentro da plataforma Spotify

Return type

str

spotify_artist_dataframe.get_artist_name(sp, artist)

Pesquisa pelo nome do artista dentro da plataforma Spotify

Parameters
  • sp (<class ‘spotipy.client.Spotify’>) – Objeto principal da API

  • artist (str) – Artista escolhido

Raises
  • Exception – _description_

  • Exception – _description_

Returns

Retorna o nome do artista dentro da plataforma Spotify

Return type

str

spotify_artist_dataframe.get_spotify_data(client_id, client_secret, artist_name, get_singles=False, duplicate=False, save_csv=False)

Função principal que irá ser utilizada pelo usuário diretamente, a qual irá coletar dados das músicas e álbuns de um determinado artista dentro da plataforma Spotify,

Parameters
  • client_id (str) – Cadeia de caracteres alfa-numérica única para cada cliente gerada pela plataforma Spotify representando seu ID.

  • client_secret (str) – Cadeia de caracteres alfa-numérica única para cada cliente gerada pela plataforma Spotify representando seu secret.

  • artist (str) – Artista escolhido

  • get_singles (bool, opcional) – Valor booleano opcional que caso seja True, será pesquisado informações sobre álbuns single, padrão como False.

  • duplicate (bool, opcional) – Valor booleano opcional que caso seja True, não será desconsiderado duplicatas de álbuns, padrão como False.

  • save_csv (bool, opcional) – Valor booleano que caso True, irá gerar um arquivo .csv, padrão False

Returns

Dataframe com os dados das tracks

Return type

pandas.core.frame.DataFrame

spotify_artist_dataframe.spotify_object(client_credentials_manager)

Recebe um token de credenciais para criar e retornar o principal objeto da API do spotify.

Parameters

client_credentials_manager (<class ‘spotipy.oauth2.SpotifyClientCredentials’>) – Credenciais geradas a partir da função spotifyData.autentication

Returns

Retorna principal objeto da API do Spotify

Return type

<class ‘spotipy.client.Spotify’>

spotify_artist_dataframe.track_duration_s(track)

Função de apoio para conversão de valores de duration_ms. Valores dados em milisegundos para segundos.

Parameters

track (dict{str}) – Dicionário com chave duration_ms contendo valores dados em segundos.

Returns

Valores dados em milisegundos para segundos.

Return type

str

spotify_artist_dataframe.track_feature_key(track_audio_features)

Função de apoio para conversão de valores do dict contendo key seguindo a escala musical. 0 para C, 1 para C♯/D♭, assim em diante.

Parameters

track_audio_features (dict{int}) – dict gerado por track contendo chave mode.

Returns

Seguindo a escala musical, 0 para C, 1 para C♯/D♭, assim em diante.

Return type

str

spotify_artist_dataframe.track_feature_mode(track_audio_features)

Função de apoio para conversão de valores do dict contendo mode . 0 para Minor e 1 para Major.

Parameters

track_audio_features (dict{int}) – dict gerado por track contendo chave mode.

Returns

Conversão de 0 para Minor e 1 para Major.

Return type

str

spotify_artist_dataframe.track_feature_timesig(track_audio_features)

Função de apoio para conversão de valores do dict contendo time_signature. Os valores de time_signature contém números de 3 à 7, correspondendo aos tempos 3/4 a 7/4 respectivamente.

Parameters

track_audio_features (dict{int}) – dict gerado por track contendo chave mode.

Returns

Converte os valores de time_signature, de 3 à 7, aos tempos 3/4 a 7/4 respectivamente.

Return type

str

spotify_artist_dataframe.track_is_explicit(track)

Função de apoio para conversão de valores de is_explicit. False para No, e True para Yes

Parameters

track (dict{bool}) – Dicionário com chave explicit contendo valores bool

Returns

Converte False para No, e True para Yes

Return type

str

deezer_artist_dataframe

Módulo de dados do Deezer

Esse módulo contém funções responsáveis por gerar um dataframe a partir dos dados da plataforma Deezer.

deezer_artist_dataframe.album_info(album)

Coleta dados sobre as informações de um determinado álbum

Parameters

album (str) – Nome do álbum a ser coletado as informações

Returns

Tupla com título, gêneros, número de tracks, número de fãs, data de lançamento e nome de todas as faixas em uma lista

Return type

tuple(str, str, int, int, str, list[str])

deezer_artist_dataframe.artist_info(searched_artist)

Extrai da­dos da plataforma Deezer sobre determinado artista

Parameters

searched_artist (str) – Artista sobre o qual serão extraídos os dados da plataforma Deezer

Returns

Tupla contendo nome oficial na plataforma, número de álbuns, número de fãs e álbuns do artista

Return type

tuple(str, int, int, <class ‘deezer.pagination.PaginatedList’>)

deezer_artist_dataframe.contribuitors(track)

Pesquisa pelos contribuidores e autores de uma determina faixa

Parameters

track (str) – Nome da faixa a ser pesquisada os contribuidores e autores

Returns

Contribuidores e autores da faixa

Return type

str

deezer_artist_dataframe.discography(artist, save_csv=False)

Função principal a ser utilizada que coleta dados da discografia de um determinado artista e retorna um dataframe contendo informações dos álbuns e faixas, como também, pode salvar um arquivo .csv de preferência do usuário.

Parameters
  • artist (str) – Artista a ser pesquisado e coletado os dados de sua discografia

  • save_csv (bool, opcional) – Valor booleano para criação de um arquivo csv, padrão como False

Returns

Dataframe contendo informações sobre discografia do artista

Return type

pandas.core.frame.DataFrame

deezer_artist_dataframe.genres(album)

Pesquisa pelo genêro musical de um álbum dentro da plataforma Deezer

Parameters

album (str) – Nome do álbum a ser pesquisado o genêro musical

Returns

Genêro musical do álbum

Return type

str

deezer_artist_dataframe.is_explicit(track)

Pesquisa se uma determinada faixa tem conteúdo explícito

Parameters

track (str) – Nome da faixa a ser pesquisada se possui conteúdo explícito

Returns

Situação da faixa em relação a presença de conteúdo explícito

Return type

str

deezer_artist_dataframe.track_info(track)

Função que coleta informações de uma determinada faixa

Parameters

track (str) – Faixa a ser coletada informações

Returns

Tupla contendo título, duração, posição, número de disco, se há conteúdo explícito, ganho e contribuidores.

Return type

tuple(str, str, int, int, str, int, str)

genius_lyrics_dataframe

Módulo de dados do Lyrics Genius

Esse módulo contém funções responsáveis por gerar um dataframe a partir dos dados da plataforma Lyrics Genius.

genius_lyrics_dataframe.date_components_to_datetime(date_components, content_name, content_type)

Função de conversão de data para formato dia/mês/ano

Parameters
  • date_components (str) – Componentes da data de lançamento

  • content_name (str) – Nome da faixa ou álbum a qual os componentes da data pertencem

  • content_type (str) – Tipo do conteúdo o qual os componentes da data pertencem (álbum ou faixa)

Returns

Data convertida para formato dia/mês/ano

Return type

str

genius_lyrics_dataframe.extract_track_info(track, genius)

Extrai informações de faixas dentro da plataforma lyricsgenius

Parameters
  • track (str) – Faixa a ser coletada informações dentro da plataforma lyricsgenius

  • genius (<class ‘lyricsgenius.genius.Genius’>) – Objeto principal da API lyricsgenius

Returns

Tupla com número da faixa, nome da faixa, id, data de lançamento, se é instrumental e letra.

Return type

tuple(int, str, str, str, str, str)

genius_lyrics_dataframe.generate_dataframe(artist_name, tracks, save_csv=False, save_to='')

Gera um dataframe a partir dos dados das tracks coletados pelas outras funções do módulo

Parameters
  • artist_name (str) – Nome do artista

  • tracks (list[dict]) – Lista de dicionários contendo dados das faixas

  • save_csv (bool, opcional) – Valor booleano para criação de um arquivo csv, padrão como False

  • save_to (str) – Path para o qual o arquivo criado será salvo

Returns

Dataframe contendo informações sobre as tracks de um artista na plataforma lyricsgenius

Return type

pandas.core.frame.DataFrame

genius_lyrics_dataframe.get_albums_info(artist_id, genius)

Coleta dados dos álbuns de um artista dentro da plataforma lyricsgenius

Parameters
  • artist_id (str) – Id do artista na plataforma lyricsgenius

  • genius (<class ‘lyricsgenius.genius.Genius’>) – Objeto principal da API lyricsgenius

Returns

Lista de dicionários contendo informações de cada álbum do artista

Return type

list[dict]

genius_lyrics_dataframe.get_artist_info(artist_name, genius)

Pesquisa pelo ID e nome do artista dentro da plataforma lyricsgenius

Parameters
  • artist_name (str) – Nome do artista a ser coletado informações

  • genius (<class ‘lyricsgenius.genius.Genius’>) – Objeto principal da API da lyricsgenius

Returns

Tupla com nome e id do artista na plataforma lyricsgenius

Return type

tuple(str, str)

genius_lyrics_dataframe.get_lyrics_of(artist_name, access_token='', save_csv=False, save_to='')

Função principal que utiliza as outras funções como apoio e retorna um dataframe completo com os dados das faixas e letras dentro da plataforma lyricsgenius.

Parameters
  • artist_name (str) – Nome do artista

  • access_token (str, opcional) – Token de acesso gerado pela API, padrão como ""

  • save_csv (bool, opcional) – Valor booleano para criação de um arquivo csv, padrão como False

  • save_to (str) – Path para o qual o arquivo criado será salvo

Returns

Dataframe com dados e letras das faixas do artista na plataforma lyricsgenius

Return type

pandas.core.frame.DataFrame

genius_lyrics_dataframe.get_tracks_info(albums, genius)

Extrai informações de cada faixa por álbum

Parameters
  • albums (list[dict]) – Lista de dicionários contendo as informações dos álbuns

  • genius (<class ‘lyricsgenius.genius.Genius’>) – Objeto principal da API lyricsgenius

Returns

Lista de dicionários contendo informações das tracks

Return type

list[dict]

genius_lyrics_dataframe.is_instrumental(track_instrumental)

Função de conversão do booleano de uma música para os casos de ser ou não instrumental

Parameters

track_instrumental (bool) – Valor booleano de uma música para os casos de ser ou não instrumental

Returns

Conversão do booleano para "Yes ou No

Return type

str