guitar hero, wikipedia, vk, perl, like it! (русская версия)
DESCRIPTION
Блиц-доклад c #yr2012Оригинал http://www.slideshare.net/sharifulin/2-guitar-heroTRANSCRIPT
Guitar Hero, Wikipedia, VK, Perl, Like it!
Анатолий ШарифулинYAPC::Russia 2012
Очередная история обо мне и Perl
Guitar Hero: гитара, барабаны и микрофон
Наконец-таки, сделал себе подарок :-)
I’m Playing...
Солист в придачу :-)
Детский Guitar HeroHand made :-)
— Кто-нибудьиграл-любит GH?
— А прийти ко мнев гости хочет? :-)
Всё классно, но...
1. Мало знакомых треков
2. Много дисков,какой купить,какие там треки?
Эврика!Я знаю, что делать...
и Perl!
1. WikipediaВ википедии я нашёл всю информацию по всем
дискам и трекам
1. WikipediaНаписал Perl-скрипт, который распарсили все
треклисты и записал всё в БД
1. Wikipediamap + grep + re + insert db
2. VK.comВо ВКонтакте есть все (почти все) треки и API!
2. VK.comСоздал ВК-приложение, через OAuth-авторизацию получаем доступ к аудио и можно скачивать треки
2. VK.comНаписал скрипт на ojo, который через API нашёл все
ссылки на mp3
2. VK.comОграничения API: нельзя делать параллельные
запросы и 100 запросов в час от одного пользователя
2. VK.comПоиск треков: некоторые треки вручную подправил,
омляуты и NFD (спасибо @nordicdyno)
my $t = NFD( $_->{title} );$t =~ s/\pM//og;
my $q = b( $t )->url_escape->to_string;my $r = g( "https://api.vkontakte.ru/method/audio.search?q=$q&lyrics=1&count=1&access_token=$conf->{token}")->json;
2.VK.comНа том же ojo написал скачивание всех mp3-файлов
(не хотелось проверять ограничение,поэтому в один поток)
2.VK.comЕдинственный косяк — все файлы одной длины,
решение:$ENV{MOJO_MAX_MESSAGE_SIZE} = 100*1024*1024
2.VK.comСкачал 650+ треков,
просто слушать в плеере не кайф :-)
3. Frodio.comСоздал радио-станцию по рандомному плейлисту,косячок: не у всех треков есть «корректные» ID3-теги
3. Frodio.comНаписал скрипт по редактированию тегов,
используя MP3::Tag (ID3v1 стираю, ID3v2 устанавливаю)
3. Frodio.comАртист — Название трека [Название диска]
3. Frodio.comЗа два дня получилось хорошее радио
— Radio Guitar Herohttp://guitarhero.frodio.com
Теперь я в курсе всех треков GH
Facebook-эффектПочувствовал себя одиноким, написал в группе GH
на Facebook об открытии радио
Facebook-эффект2250+ лайков, 43 перепоста, 76 комментариев,
в пике 78 он-лайн слушателя
Perl, Guitar Hero and Rock’n’Roll
use Perl or die;
Спасибо за внимание!Анатолий Шарифулин
YAPC::Russia 2012