Google Music Trends com Ruby

10/08/07

Logo do Google Music Trends O Google tem um serviço interessante chamado Music Trends que, baseado nas informações enviadas pelos usuários que utilizam GTalk, cria um ranking de músicas mais ouvidas. Em alguns países como EUA e Índia é possível até visualizar as estatísticas por estilo musical.

Infelizmente, o Google não possui API para estas estatísticas e, por isso, a única solução para obter tais informações é com scraping. Tendo este problema em mente, fiz uma classe que acessa o Google Music Trends e retorna as informações de maneira bastante simples.

require 'google_music_trends'
 
trends = GoogleMusicTrends.new
 
s = "GOOGLE MUSIC TRENDS\n===================\n"
 
trends.get(:genre => 'alternative & punk', :where => 'USA').each do |item|
  s << "Artist: %s\n" % item[:artist]
  s << "Song: %s\n" % item[:song]
  s << "Rank: #%s\n\n" % item[:rank] 
end
 
puts s

Você precisará ter o Hpricot instalado, então, se você ainda não o tiver, execute o comando gem install hpricot.

A classe está disponível no Subversion. Para pegar a versão mais recente, execute o comando svn co http://svn.simplesideias.com.br/general/ruby/google_music_trends

Last.fm no Wordpress

14/11/06

Acabei de fazer um plugin que busca a última música que você ouviu no Last.fm. Se você quiser instalá-lo, baixe o arquivo e coloque-o na sua pasta de plugins.

Para ativá-lo, acesse a aba Plugins do admin e clique na opção Activate.

Ativar plugin

Uma nova aba será adicionada na seção de Plugins. Vá até lá e defina seu usuário. Você também pode definir se a música será atualizada sempre que você salvar o post. Se não marcar esta opção ela será inserida apenas quando você publica-lo.

Configurações do plugin

Após salvar cada post, um "custom field" será criado com a última música que você ouviu. Caso não exista nenhuma faixa na sua relação de músicas recentes, este campo não será preenchido.

Admin: Custom Field

Para adicionar a informação em cada post, adicione o seguinte código.

<?php if ($track = get_post_meta($id, 'listening_to', true)): ?>
    <p class="listening-to"><strong>Ouvindo:</strong> <?php echo $track; ?></p>
<? endif; ?>

Este plugin tenta buscar as informações usando a biblioteca CURL, já que na Dreamhost, por medidas de segurança, não é possível acessar arquivos externos usando a função fopen. De qualquer modo, caso a biblioteca não seja detectada, o plugin usará automaticamente a fopen.

Se você encontrar qualquer problema, poste um comentário.

Atualizando o Listen

19/10/06

Há tempos uso o Listen como player, mas uma muito chata que ele tinha era não manter a ordem das faixas quando você arrastava um álbum para a playslit. Ia mandar um e-mail para o desenvolvedor, mas entrei no site antes. Uma nova versão foi lançada e, felizmente, este erro foi corrigido.

Existe um repositório com a versão 0.5 beta, que embora esteja descrita como "instável", não deu nenhum erro até agora! Tem uma série de melhorias na interface e algumas novas funcionalidades. Se quiser atualizar para a nova versão, siga os passos abaixo:

Edite seu arquivo "sources.list":

$sudo gedit /etc/apt/sources.list

Cole o repositório abaixo e salve o arquivo.

deb http://theli.free.fr/packages/ dapper listen listen-unstable

Atualize a lista de pacotes e faça um dist-upgrade:

$sudo aptitude update
$sudo aptitude dist-upgrade

Pronto!