Billboard.py é uma API Python para acessar as paradas musicais da Billboard.com.
Instale com PIP:
pip install billboard.py
Ou clone este repo e execute python setup.py install
.
Para baixar um gráfico da Billboard , usamos o construtor ChartData()
.
Vamos buscar o gráfico atual do Hot 100.
>> > import billboard
>> > chart = billboard . ChartData ( 'hot-100' )
>> > chart . title
'The Hot 100'
Agora podemos olhar para as entradas do gráfico, que são do tipo ChartEntry
e têm atributos como artist
e title
:
>> > song = chart [ 0 ] # Get no. 1 song on chart
>> > song . title
'Nice For What'
>> > song . artist
'Drake'
>> > song . weeks # Number of weeks on chart
2
Também podemos print
o gráfico inteiro:
>>> print(chart)
hot-100 chart from 2018-04-28
-----------------------------
1. 'Nice For What' by Drake
2. 'God's Plan' by Drake
3. 'Meant To Be' by Bebe Rexha & Florida Georgia Line
4. 'Psycho' by Post Malone Featuring Ty Dolla $ign
5. 'The Middle' by Zedd, Maren Morris & Grey
# ...
Esta página mostra todos os gráficos agrupados por categoria.
Os gráficos de final de ano estão aqui.
Use o construtor ChartData
para baixar um gráfico:
ChartData ( name , date = None , year = None , fetch = True , timeout = 25 )
Os argumentos são:
name
-o nome do gráfico, por exemplo 'hot-100'
ou 'pop-songs'
.date
-a data do gráfico como uma string, em formato AAAA-MM-DD. Por padrão, o gráfico mais recente é buscado.year
-o ano do gráfico, se solicitar um gráfico de final de ano. Deve ser uma corda em formato AAAA. Não pode fornecer date
e year
.fetch
- um booleano indicando se deseja obter os dados do gráfico de Billboard.com imediatamente (no momento da instanciação). Se False
, os dados do gráfico podem ser preenchidos posteriormente usando o método fetchEntries()
.max_retries
- o número máximo de vezes para tentar novamente ao solicitar dados (padrão: 5).timeout
- o número de segundos para aguardar uma resposta ao servidor. Se None
, nenhum tempo limite é aplicado.Por exemplo, para baixar as músicas alternativas de final de ano para 2006:
>> > chart = billboard . ChartData ( 'alternative-songs' , year = 2006 )
Se chart
for uma instância ChartData
, podemos solicitar o atributo entries
para obter as entradas do gráfico (veja abaixo) como uma lista.
Por conveniência, chart[x]
ChartData
equivalente ao chart.entries[x]
.
Uma entrada de gráfico (normalmente uma única faixa) é do tipo ChartEntry
. Uma instância ChartEntry
tem os seguintes atributos:
title
- O título da faixa.artist
- o nome do artista, como formatado em Billboard.com.image
- o URL da imagem para a faixa.peakPos
- a posição de pico da faixa no gráfico a partir da data do gráfico, como um int (ou None
se o gráfico não incluir essas informações).lastPos
- A posição da faixa no gráfico da semana anterior, como um int (ou None
se o gráfico não incluir essas informações). Este valor é 0 se a pista não estiver no gráfico da semana anterior.weeks
- o número de semanas em que a pista esteve ou estava no gráfico, incluindo datas futuras (até o presente momento).rank
- a posição atual da faixa no gráfico.isNew
- se a faixa é nova no gráfico. Para uma documentação adicional, consulte o arquivo billboard.py
ou use o recurso help
interativa do Python.
Acha que você encontrou um bug? Crie um problema aqui.
Os pedidos de puxão são bem -vindos! Por favor, siga as seguintes diretrizes de estilo:
pre-commit install
para instalar um gancho de pré-compromisso que seja preto.mixedCase
.Para executar a suíte de teste localmente, instale o nariz e execute
nosetests
Para executar a suíte de teste localmente em Python 2.7 e 3.4, instale o Tox e execute
tox
Projetos e artigos que usam Billboard.py:
Tem uma adição? Faça um pedido de tração!