Pular para o conteúdo

Imprimindo várias páginas do Cifra Club automaticamente

Olá pessoal!

Eu estava precisando imprimir algumas cifras do Cifra Club, mas é muito chato ter que imprimir todas de uma vez. Então criei um script que fizesse esta função (grosso modo). O script é simples, mas capturou o que queria!

Lembrando que vocês devem criar uma lista das músicas.

Exemplo:

    Porque Ele Vive
    Em Espirito, Em Verdade
    Alvo Mais que a Neve
    Grandioso És Tu
    Renova-me Senhor Jesus
    Solta o Cabo da Nau
    Eu Navegarei
    Foi Na Cruz
    Rude Cruz
    Mensagem da Cruz
    124 - Adoração
    15 Conversão
    291 - a Mensagem da Cruz
    65 - Quem Ira?

Lembrando que o nome da lista deve ser: lista-cifras.txt. Como o endereço sendo do tipo: http://www.cifraclub.com.br/harpa-crista/

Iago Lira iagolira
Hits: 7.211 Categoria: Shell Script Subcategoria: Expressões Regulares
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Olá pessoal!

Eu estava precisando imprimir algumas cifras do Cifra Club, mas é muito chato ter que imprimir todas de uma vez. Então criei um script que fizesse esta função (grosso modo). O script é simples, mas capturou o que queria!

Lembrando que vocês devem criar uma lista das músicas.

Exemplo:

    Porque Ele Vive
    Em Espirito, Em Verdade
    Alvo Mais que a Neve
    Grandioso És Tu
    Renova-me Senhor Jesus
    Solta o Cabo da Nau
    Eu Navegarei
    Foi Na Cruz
    Rude Cruz
    Mensagem da Cruz
    124 - Adoração
    15 Conversão
    291 - a Mensagem da Cruz
    65 - Quem Ira?

Lembrando que o nome da lista deve ser: lista-cifras.txt. Como o endereço sendo do tipo: http://www.cifraclub.com.br/harpa-crista/

Download baixar-cifras.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash
#Autor: Francisco Iago Lira Passos
#Data: 05/08/2015

read -p "Digite o endereço do site:" site
read -p "Deseja criar uma nova pasta?" yn

if [[ "$yn" -eq "sim" || "$yn" -eq "SIM" ]]
then
read -p "Digite o nome da pasta:" pasta
mkdir "$pasta"
fi

while read x
do
linha="$x"
lista="$(echo "$x" | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇÜü/aAaAaAaAeEeEiIoOoOoOuUcCUu/' | sed 's/,//' | tr 'A-Z' 'a-z' | tr ' ' '-' | sed 's/---/-/' | sed 's/(//' | sed 's/)//' | sed 's/?//')"
wkhtmltopdf $site$lista $(echo $lista".pdf")
mv $(echo $lista".pdf") $(echo $pasta"/")
done < lista-cifras.txt

TWIG, programinha básico para quem não tem muitos conhecimentos em Linux.

Script de compilação do kernel

instalar-p2p-v0.1

Limpar fila de email

Validar IP

#1 Comentário enviado por hugoeustaquio em 17/08/2015 - 19:12h
Obrigado pela sua contribuição. Algumas observações:
Se você baixa muito do cifraclub, vale a pena retirar a pergunta do site e a variável "site" também, e usar a URL "http://www.cifraclub.com.br/$ARTISTA/$MUSICA/imprimir.html"; pra converter em pdf. Se você estiver planejando imprimir o pdf gerado, ele vai ficar bem mais limpo assim, economizando tinta da sua impressora.

Pode também usar a variável "$1" pra pegar o primeiro parâmetro recebido, e assim não 'obrigar' o usuário a usar uma lista com nome específico. Assim o usuário dispararia
$ nome_do_script lista.txt

E o script processaria o arquivo "lista.txt" sem obrigar o usuário a ter nomes específicos na sua lista pessoal.

É preferível usar parâmetros que perguntar um diretório, tipo "-d nome" serviria pra quando o usuário quer que os documentos sejam gerados num diretório específico.

Se o seu objetivo for imprimir direto na impressora mesmo, veja o comando 'lpr'. Ele insere o html (ou txt, pdf, etc...) na sua fila de impressão.

Abraço!
#2 Comentário enviado por Lwkas em 17/08/2015 - 22:17h

Dica boa. Parabéns!
#3 Comentário enviado por iagolira em 18/08/2015 - 08:57h
Obrigado pela dica! Vou melhorar este! Por enquanto é só um qurebra-galho! O ruim deste script é porque ele não processa as tablaturas e notas!
Nome: Francisco Iago Lira Passos
Curso: Bacharelado em Física

Contribuir com comentário

Entre na sua conta para comentar.