Pull to refresh

Скробблим треки в Last.fm с мобильного устройства

Reading time 2 min
Views 1.6K
В этом посте я хотел бы предложить свой метод отправления музыки на Last.fm с мобильного устройства (коммуникатор, КПК, телефон) без использования на нём интернета.

Проблема
Легко скробблить на last.fm треки с компьютера. Для этого есть множество программ (я, например, использую Rhythmbox). Но достаточно большую часть музыки мы слушаем на мобильном устройстве. Хотелось бы и с него отправлять музыку на сайт.
При этом желательно не использовать интернет на мобильном устройстве, т.к., во-первых, интернет не везде доступен, а во-вторых, он недешев (особенно, если вы, например, поехали отдыхать в Турцию и взяли с собой КПК как плеер).

Идея решения
Используем на мобильном устройстве плеер, умеющий писать лог-файл прослушанных композиций (я, например, пользуюсь MortPlayer). Далее, этот лог-файл переносим на компьютер и отправляем на Last.fm с использованием скрипта на Python, о котором ниже.

Требования к системе
1. На мобильном устройстве нужен плеер, умеющий писать лог-файл прослушанных композиций. Формат лог-файла должен быть «день-месяц-год час: минута: секунда исполнитель — композиция — альбом», например:
14-01-2008 21:17:45 Sean Paul — Like Glue — Dutty Rock
14-01-2008 21:21:43 Sean Paul — Get Busy — Dutty Rock

Остальные требования к компьютеру (с которого будем скробблить):
2. Linux.
3. Rhythmbox с плагином Last.fm (в последних версиях поставляется вместе с программой, но нужно его включить и настроить логин/пароль доступа к сервису).
4. Python.

Порядок действий
1. Переносим на компьютер лог-файл (например, вставляем карту памяти с коммуникатора).
2. Запускаем скрипт scrobble.
Всё :)

«Фичи» скрипта
1. Проверка появления треков на личной странице last.fm (сверяется счетчик прослушанных композиций).
2. Возможность выдать таблицу прослушанных композиций, сгруппированных по исполнителю, со счетчиками прослушивания (удобно, например, если вы вернулись издалека и хотите посмотреть, что чаще всего вы слушали на отдыхе).
3. Фильтрация композиций, которые звучали менее минуты.

Скачать скрипт (iFolder.ru)

Посмотреть код (dumpz.org, с подсветкой синтаксиса и номерами строк) (за наводку спасибо Cyxapeff)

Конфигурационные параметры (например, путь к лог-файлу) настраиваем в начале текста скрипта.

UPD 29.07.2008
В связи с недавним обновлением интерфейса Last.fm скрипт нужно изменить: а именно, регулярное выражение на строке 219
pattern = re.compile('Tracks played:\W*<\/strong>\W*(\d+),(\d+)<\/span><\/span>')
нужно заменить на
pattern = re.compile('\((\d+),(\d+) tracks played\)')


— Это мой первый P.оS.т на хабре. Пожалуйста, не судите строго.
Tags:
Hubs:
+23
Comments 46
Comments Comments 46

Articles