Acesso direto ao conteúdo

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

 

Script para fazer download de quantos vídeos você quiser do YouTube

Por Hugo Leonardo de Freitas

Data de Publicação: 10 de Março de 2007

Segue abaixo um script bem detalhado e simples para fazer download de vídeos do YouTube. Ele se encarrega de definir o nome do vídeo e converter no melhor formato, .mpg ou .avi.

Crie um arquivo baixa_videos_youtube.sh, cole o texto abaixo e certifique-se de estar instalada a ferramenta ffmpeg. Depois disso, precisamos apenas copiar o endereço dos vídeos que ele se encarrega do resto.

Para instalar a ferramenta de conversão, basta usar a ferramenta de instalação automática, dependendo de sua distribuição.

Ex.:

  apt-get install ffmpeg
      yum install ffmpeg

Para executar o script, digite:

  # sh baixa_videos_youtube.sh

Estou aberto para dúvidas, criticas e sugestões.

  #!/bin/bash
  #    _
  #   *v*   by
  #  /(_)\  Hugo Leonardo de Freitas
  #   ^ ^   Linux Counter: #341228
  #         hugolf@gmail.com
  #
  
  #
  # SCRIPT CRIADO PARA FAZER DOWNLOAD DE VIDEOS DO YOUTUBE.
  # PODEMOS FAZER INCLUSIVE DOWNLOADS DE VIDEOS EM MASSA, BASTA SABER O ENDERECO.
  #
  # OS VIDEOS SAO BAIXADOS DIRETAMENTE E CONVERTIDOS NO FORMATO MAIS ADEQUADO AO VIDEO.
  # O NOME DO VIDEO E INSERIDO AUTOMATICAMENTE, AUTOMATIZANDO O DOWNLOADS DE VARIOS VIDEOS.
  #
  # DEPENDENCIA:  SERA NECESSARIO INSTALAR O FFMPEG PARA CONVERTER OS VIDEOS PARA MPG OU AVI.
  # ------------  PARA INSTALAR PODERA USAR O APT-GET OU YUM, DEPENDE DA DISTRIBUICAO.
  #               Exemplo:
  #                  yum install ffmpeg
  #                  apt-get install ffmpeg
  #
  
  #
  # ENDERECOS PARA DOWNLOAD DOS VIDEOS DO YOUTUBE
  # CASO QUEIRA FAZER DOWNLOAD DE VARIOS VIDEOS,
  # COLOQUE-OS UM DEBAIXO DO OUTRO.
  #
  videos="
  http://www.youtube.com/watch?v=xl6K8O9B2aQ
  http://www.youtube.com/watch?v=r5WHW-Q8g1Q
  http://www.youtube.com/watch?v=JnujkXNwci8
  http://www.youtube.com/watch?v=Kd7qqVGWQkA
  http://www.youtube.com/watch?v=Lj76Zk8P01o
  http://www.youtube.com/watch?v=0icNoVHvaWM
  http://www.youtube.com/watch?v=hQJ4o_XhnMg
  http://www.youtube.com/watch?v=rfE2Ufce_eI
  http://www.youtube.com/watch?v=-rXHPB612-s
  "
  
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note#| REGRAS |" HREF="#textnote#| REGRAS |">< SUP>#| REGRAS |< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  
  #
  # CORES ( NAO USADAS, APENAS COMO EXEMPLO )
  #
     PRETO='\e[0;30m'
   VERMELHO='\e[0;31m'
     VERDE='\e[0;32m'
   AMARELO='\e[0;33m'
      AZUL='\e[0;34m'
   MAGENTA='\e[0;35m'
  AZULCLARO='\e[0;36m'
     CINZA='\e[0;37m'
  
  #
  # CORES PERSONALISADAS
  #
      BP='\e[47;30m'
      FP='\e[40;30m'
      FV='\e[47;31m'
     FCP='\e[40;37m'
  
  #
  # FUNCAO RESPONSAVEL POR FAZER O DOWNLOAD DOS VIDEOS
  #
  Download () {
  
  #
  # CASO NAO EXISTA SERA CRIADA UMA PASTA VIDEOS PARA ARMAZENAR OS VIDEOS BAIXADOS
  #
  mkdir -p videos
  
  #
  # INICIANDO A PESQUISA DO VIDEO
  #
  for video in $videos; do
         #
         # COLETANDO INFORMACOES
         #
         wget -O infovideo.tmp "$video"
         #
         # EXTRAINDO O CODIGO DO VIDEO
         #
         codigo=$( cat infovideo.tmp | grep player2.swf\?video_id= \
         | cut -f2 -d ? | cut -c10- | cut -f1 -d , | cut -f1 -d '"' )
         #
         # EXTRAINDO O NOME DO VIDEO
         #
         nome=$( cat infovideo.tmp | grep 'meta name="title" content="' \
         | cut -f3 -d = | cut -c2- | cut -f1 -d '"' )
         rm -f infovideo.tmp ; cd videos
         #
         # FAZENDO O DOWNLOAD DO VIDEO
         #
         wget -c -O $nome.flv "http://www.youtube.com/get_video?video_id=$codigo"
         #
         # CONVERTENDO O VIDEO DE .FLV PARA .MPG
         #
         /usr/bin/ffmpeg -i $nome.flv $nome.mpg
         #
         # CASO NAO CONSEGUIR CODIFICAR O ARQUIVO NO FORMATO MPG
         # TENTA A CONVERSAO PARA O FORMATO AVI
         #
         tamanho=$( du -sh $nome.mpg | cut -f1 )
         #
         if [ $tamanho == 0 ]; then
                 rm -f $nome.mpg
                 /usr/bin/ffmpeg -i $nome.flv $nome.avi
                 #
                 tamanho=$( du -sh $nome.avi | cut -f1 )
                 #
                 if [ $tamanho == 0 ]; then
                         rm -f $nome.avi
                 else
                         rm -f $nome.flv
                 fi
         else
                 rm -f $nome.flv
         fi
         cd ..
  done
  }
  
  #
  # FUNCAO PARA CONFECCIONAR A LOGO DO YOUTUBE
  #
  
  Logo () {
  #
  # LIMPANDO A TELA
  #
  clear
  
  #
  # IMPRIMINDO NA TELA A LOGO DO YOUTUBE
  #
  echo -e "
  $BP                                                                                                           $FP
  $BP                                                                                                           $FP
  $BP                                         $FV       ZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMNNMMNNNMNMMMMMMMMM2        $FP
  $BP                                         $FV     NMNK9PPPPPPPP55PPPPPPPPPPPPPPPP5ZL2jjii;::,.        KMX      $FP
  $BP                                         $FV    KNX@MMMMMMMMMMMMN9PPPPPPPPPPXMMMM#X99P5ZZL222jjji7i;. .MX     $FP
  $BP    MMMM    7MMMM                        $FV   .MX99            9XPPPPPPPPPPK:   PXP99999P5ZLL222jjji; 5M     $FP
  $BP     MMMR   MMMM                         $FV   2NP9R   :    i   X95PPPPP5PPP#5   HRP5PPP99X9P55ZL2222j:jM     $FP
  $BP     HMMM   MMM,                         $FV   X@PPR#MMM    MMMMMMMMK9RNMM#X#5   MMMMM#XPPPXHMMMMMK9LL7;M:    $FP
  $BP      MMM7 MMM#    jMMMM9     MMM9  ZMMM $FV   MRPPPPP9M    MPPRP   HXK   .H#5   Mj   7MXPKMK.   .9MHPZ7NX    $FP
  $BP       MMM MMM   iMMMMMMMMX   MMM@  9MMM $FV   M9PPPPP9M    MPP@5   MR#    M#5         7HRM         @H95@K    $FP
  $BP       KMMMMMX   MMM:   MMM   MMM9  2MMM $FV   MPPPPPP9M    MPPHX   MKM    M#Z   MMM,   MHi   MMM;   MPPRM    $FP
  $BP        MMNMM    MMM,   MMM   MMMX  LMMM $FV   MPPPPPP9M    MPPHX   MRM    M#Z   #@M,   MM,  :MMM9   MPPXM    $FP
  $BP        2M#M;    MMM7   MMM   MMMX  LMMM $FV   MPP5PPPXM    MPP@X   MKN    M#Z   HKM.   MM:          MPPXM    $FP
  $BP        ZMMM     MMMi   MMM   MMMR  ZMMM $FV   M9P9PPPXM    MPP#X   MKM    MNZ   #@M.   MM,   jji25Z:MPP@M    $FP
  $BP        ZMMM     MMM;   MMM   MMMX  2MMM $FV   MX5P5PP9M    MPPHX   MKM    MNZ   #KM.   MM.   MMMMMM9NPPHX    $FP
  $BP        ZMMM     MMM    MMM   MMM7  .MMM $FV   #H99999RM    MP9#X   MMM.   MML   MMM:   MM,   MMM    M99M2    $FP
  $BP        ZMMM     RMMM;jMMMM   MMMM7MMMMM $FV   PM99999XM    M99@X   L,     MML    7i   :M
57 ;N99M $FP $BP MMMML 5MMMMMMZ NMMMMPMMMM $FV ;MX9999XH M99RN 5 NH. : N@XN@ 5MK9XM $FP $BP $FV M#XXXXR#MMMM#XXXNMMMMMMMMMMHKMMMMMMMMMMNXXR#MMMMMMMMKXRMM $FP $BP $FV jMMKXXXXXXXXXXXXXXRRRXXXXXXXXXXXXXXRRRRXXXXXXXRRKRXXR#MM $FP $BP $FV #MMMMMMMMMMMMMMMMN< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>NMMMMMMMMMMMMMMMMMj $FP $BP $FV :jj2PX9XKNNNN#NMMMMMMMMMMMMMMMMM#NNNN#X9XXLj27 $FP $BP $FP $BP $FP $FCP" # # FAZENDO O DOWNLOAD DOS VIDEOS # Download } Logo # # FIM! #

Download do script

Veja a relação completa dos artigos da coluna Cantinho do Shell

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir
  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (243 votos)


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Cantinho do Shell NewsFeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.

Opinião dos Leitores

Luiz Celso
31 Mai 2007, 10:38
ôpa, na verdade foi preciso colocar aspas em todos os "$nome.*".
Luiz Celso
31 Mai 2007, 09:44
Muito legal este script. Parabéns pelo trabalho.

Depois de usar o script por algum tempo no meu PC, eu comecei a ter problemas, talvez por conta de alguma atualização do wget. Daí, eu precisei alterar a linha:

wget -c -O $nome.flv "http://www.youtube.com/get_video?video_id=$codigo"

para:

wget -c -O "$nome.flv" "http://www.youtube.com/get_video?video_id=$codigo"

(Veja as aspas em "$nome.flv")

Abraços
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Bombando o Shell - Caixa de Ferramentas Gráficas do Shell Linux></A>
</div>
<div align=center>
<!--
<a href='http://www.idph.net/inglesonline/inscricao.shtml' target='_blank'><img src='http://www.dicas-l.com.br/imagens/InglesOnline.jpg' border='0' alt=''></a><BR><BR>-->
<A HREF=http://iol.idph.com.br rel=

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis