Billboard.py es una API de Python para acceder a las listas de música desde Billboard.com.
Instalar con PIP:
pip install billboard.py
O clonar este repositorio y ejecute python setup.py install
.
Para descargar una tabla de carteles , usamos el constructor ChartData()
.
Vamos a buscar el gráfico actual de Hot 100.
>> > import billboard
>> > chart = billboard . ChartData ( 'hot-100' )
>> > chart . title
'The Hot 100'
Ahora podemos ver las entradas de la tabla, que son de tipo ChartEntry
y tienen atributos como artist
y 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
También podemos print
todo el gráfico:
>>> 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 muestra todos los gráficos agrupados por categoría.
Los gráficos de fin de año están aquí.
Use el Constructor ChartData
para descargar un gráfico:
ChartData ( name , date = None , year = None , fetch = True , timeout = 25 )
Los argumentos son:
name
: el nombre del cuadro, por ejemplo 'hot-100'
o 'pop-songs'
.date
: la fecha de la tabla como una cadena, en formato YYYY-MM-DD. Por defecto, se obtiene el último cuadro.year
: el año año, si solicita una tabla de fin de año. Debe ser una cadena en formato yyyy. No se puede suministrar tanto date
como year
.fetch
: un booleano que indica si obtener los datos del gráfico de Billboard.com inmediatamente (en el momento de la instancia). Si False
, los datos del gráfico se pueden poblar en un momento posterior utilizando el método fetchEntries()
.max_retries
: el número máximo de veces para volver a intentarlo al solicitar datos (predeterminado: 5).timeout
: el número de segundos para esperar una respuesta del servidor. Si None
se aplica ningún tiempo de espera.Por ejemplo, para descargar la tabla de fin de año de las canciones alternativas para 2006:
>> > chart = billboard . ChartData ( 'alternative-songs' , year = 2006 )
Si chart
es una instancia ChartData
, podemos solicitar su atributo entries
para obtener las entradas del gráfico (ver más abajo) como una lista.
Por conveniencia, chart[x]
es equivalente a ChartData
chart.entries[x]
.
Una entrada del gráfico (generalmente una sola pista) es de tipo ChartEntry
. Una instancia ChartEntry
tiene los siguientes atributos:
title
: el título de la pista.artist
: el nombre del artista, como está formateado en Billboard.com.image
: la URL de la imagen para la pista.peakPos
: la posición máxima de la pista en la tabla a partir de la fecha del gráfico, como un int (o None
si el gráfico no incluye esta información).lastPos
: la posición de la pista en la tabla de la semana anterior, como un int (o None
si el gráfico no incluye esta información). Este valor es 0 si la pista no estaba en la tabla de la semana anterior.weeks
: el número de semanas que la pista ha estado o estaba en la tabla, incluidas las fechas futuras (hasta la actualidad).rank
: la posición actual de la pista en la tabla.isNew
: si la pista es nueva en el gráfico. Para una documentación adicional, mire el archivo billboard.py
, o use la función help
interactiva de Python.
¿Crees que encontraste un error? Crea un problema aquí.
¡Las solicitudes de extracción son bienvenidas! Adhiera las siguientes pautas de estilo:
pre-commit install
para instalar un gancho precomito que se ejecuta en negro.mixedCase
.Para ejecutar la suite de prueba localmente, instale la nariz y ejecute
nosetests
Para ejecutar la suite de prueba localmente tanto en Python 2.7 como en 3.4, instale tox y ejecute
tox
Proyectos y artículos que usan Billboard.py:
¿Tienes una adición? ¡Haga una solicitud de extracción!