Existem espalhados pelas “infernets e infer-webs” uma variedade enorme de sites com as letras de músicas, das mais variadas bandas e estilos. Até ai, nada de mais.
Quando se pretende somente uma letra ou duas, é só procurar um pouco, acessar o site e ler ou até mesmo copiar a letra, se quiser.
A idéia aqui é salvar ou baixar/copiar as letras de forma um tanto quanto que automatizada, utilizando como motivador a Soberana Preguiça, com ferramentas Linux, em Shell Script. Lembrando que é uma solução bem simples e básica para um problema ou necessidade pessoal bem específica e que talvez possa ser ajustada para outras necessidades e situações.
Vamos aos detalhes.
1 – Estilo de música: metal
2 – Site das letras: www.darklyrics.com
3 – O que baixar: lista de álbuns, letras de músicas individuais e/ou das músicas dos álbuns.
Como disse, é uma situação bem específica e pessoal.
O site possui um padrão de organização que facilitou bem a montagem do script.
A estrutura do site segue a seguinte lógica:
Link da banda: http://www.darklyrics.com/i/inflames.html
Site, letra inicial do nome da banda, nome da banda (página com os links para os álbuns).
Link para os álbuns, por exemplo banda In Flames, álbum Battles:
http://www.darklyrics.com/lyrics/inflames/battles.html
Observe que há diferenças de caminhos quando se trata da banda e dos álbuns da mesma. Seguindo o padrão, foi relativamente fácil lidar as variáveis “banda”, “album” e “letra”.
Para chegar até a banda, segue a inicial depois o nome da banda. Para os álbuns e letras, coloca-se no caminho, o “lyrics” a “banda” e depois o “album”.
O script tem as seguintes funções, conforme o menu abaixo:
1 - Listar albums da banda
2 - Escolher album da banda
3 - Gravar em arquivo lista de albuns
4 - Gravar em arquivo letras do album
z - Sair - Sai do Sistema
As opções 3 e 4, que são as mais interessantes, permitem baixar e gravar em arquivo a lista de álbuns e as letras de um álbum específico, que for informado para o script, por exemplo:
-----------------Escolha uma opção---------------------
1 - Listar albums da banda
2 - Escolher album da banda
3 - Gravar em arquivo lista de albuns
4 - Gravar em arquivo letras do album
z - Sair - Sai do Sistema
-----------------Escolha uma opção---------------------
Escolha uma das opcoes acima [1-2-3-4-z]: 4
Nome da banda sem espacos
inflames
Nome do album sem espacos
battles
O arquivo será salvo em dois formatos, txt e html, com o nome do álbum, da seguinte forma:
letras-battles.txt
letras-battles.html
O formato em txt já é suficiente para poder ser utilizável em qualquer editor de texto que queira. Fiz uma saída em html, para se ter mais uma opção. Pode-se utilizar em qualquer layout HTML/CSS, desde que faça os ajustes necessários.
Eu utilizei o layout do site HTML5UP (http://html5up.net/), tema Halcyonic, que me atendeu conforme eu necessitava.
No demais, o script é um tanto quanto que intuitivo. Vou deixar o link com o script e os arquivos de modelo em html e css do layout acima mencionado. Crie um diretório no seu home com um nome qualquer que facilite o uso, como por exemplo, letras e mantenha todos no mesmo diretório de trabalho, com a seguinte estrutura:
Arquivos:
dark-lyrics-dolores.sh
model.html
Diretórios:
├── assets
│ ├── css
│ │ └── images
│ │ └── ie
│ ├── js
│ │ └── ie
│ └── sass
│ └── libs
├── css
└── fonts
Quando a opção 3 e/ou 4 forem utilizadas, serão gravados os arquivos nos dois formatos, txt e html. Escolha o que for mais interessante para sua necessidade.
Obs: este script foi feito em 2017-04-13 e está ainda na versão 0.1. Não postei antes devido a outros contratempos que tiveram maior prioridade. Não fiz nenhuma revisão desde então. Caso haja algum bug (e normalmente sempre tem) ou algo que não funcione adequadamente, pode-se optar em no mínimo, duas escolhas: me contatar e informar sobre o problema ou resolver por conta própria. A segunda opção é interessante hein, uma vez que pode lhe trazer um aprendizado novo. Mas, caso haja algum contratempo, mande um e-mail que tentarei resolver no menor tempo possível, ainda nesta eternidade.
Clique aqui para baixar o script e os arquivos.