Billboard.py - это Python API для доступа к музыкальным диаграммам с billboard.com.
Установить с помощью PIP:
pip install billboard.py
Или клонировать это репо и запустить python setup.py install
.
Чтобы загрузить диаграмму рекламных щитов , мы используем конструктор ChartData()
.
Давайте возьмем текущий график Hot 100.
>> > import billboard
>> > chart = billboard . ChartData ( 'hot-100' )
>> > chart . title
'The Hot 100'
Теперь мы можем посмотреть на записи диаграммы, которые имеют типовой ChartEntry
и имеют такие атрибуты, как artist
и 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
Мы также можем print
всю диаграмму:
>>> 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
# ...
На этой странице показаны все диаграммы, сгруппированные по категории.
Диаграммы на конец года здесь.
Используйте конструктор ChartData
, чтобы загрузить диаграмму:
ChartData ( name , date = None , year = None , fetch = True , timeout = 25 )
Аргументы:
name
-имя графика, например 'hot-100'
или 'pop-songs'
.date
-дата диаграммы как строка, в формате Yyyy-MM-DD. По умолчанию полученная таблица получена.year
-год диаграммы, если запрашивать график на конец года. Должен быть строка в формате yyyy. Не может предоставить как date
, так и year
.fetch
- логическая, указывающая, нужно ли немедленно получить данные диаграммы с Billboard.com (во время экземпляра). Если False
, данные диаграммы могут быть заполнены позже, используя метод fetchEntries()
.max_retries
- максимальное количество раз для повторения при запросе данных (по умолчанию: 5).timeout
- количество секунд, чтобы дождаться ответа на сервер. Если None
, тайм -аут не применяется.Например, чтобы загрузить альтернативные песни на конец года на 2006 год:
>> > chart = billboard . ChartData ( 'alternative-songs' , year = 2006 )
Если chart
является экземпляром ChartData
, мы можем попросить атрибут его entries
, чтобы получить записи диаграммы (см. Ниже) в качестве списка.
Для удобства, chart[x]
ChartData
chart.entries[x]
.
Запись в диаграмме (обычно один трек) имеет типовую ChartEntry
. Экземпляр ChartEntry
имеет следующие атрибуты:
title
- название трека.artist
- название художника, как форматировано на billboard.com.image
- URL изображения для трека.peakPos
- положение пика дорожки на графике на дату диаграммы, как int (или None
если диаграмма не включает эту информацию).lastPos
- позиция трека в таблице предыдущей недели, как int (или None
если диаграмма не включает эту информацию). Это значение составляет 0, если трек не был на таблице предыдущей недели.weeks
- количество недель, в течение которых трек был или был на графике, включая будущие даты (до настоящего времени).rank
- текущая позиция трека на графике.isNew
- будь то трек новым для диаграммы. Для получения дополнительной документации посмотрите на файл billboard.py
или используйте интерактивную функцию help
Python.
Думаешь, ты нашел ошибку? Создайте проблему здесь.
Приглашаются запросы на вытягивание! Пожалуйста, придерживайтесь следующих руководств по стилю:
pre-commit install
, чтобы установить крюк с предварительной коммитцией, который работает черным.mixedCase
.Чтобы запустить тестовый набор локально, установить нос и запустить
nosetests
Чтобы запустить тестовый набор локально как на Python 2.7, так и 3.4, установите Tox и запустите
tox
Проекты и статьи, которые используют billboard.py:
Есть дополнение? Сделайте запрос на тягу!