Wget, alguns exemplos do que pode ser feito com esta ferramenta

Sobre wget

No próximo artigo, daremos uma olhada no Wget. Deve ser dito que GNU Wget é um ferramenta grátis que permite o download de conteúdo de servidores web de forma simples e rápida. Seu nome deriva de World Wide Web (w) e a palavra get (em inglês ter) Este nome passa a significar: obter da WWW.

Hoje existem dezenas de aplicativos para baixar arquivos de forma muito eficiente. A maioria deles é baseada em interfaces da web e de desktop e são desenvolvidos para todos os sistemas operacionais. No entanto, em Gnu / Linux (também existe uma versão para Windows) existe o poderoso gerenciador de download de arquivos wget. É considerado o downloader mais poderoso que existe. Suporta protocolos como http, https e ftp.

Baixar arquivos com wget

Baixe um arquivo

A maneira mais simples de usar esta ferramenta é fazer o download indicando o arquivo O que nós queremos:

wget http://sitioweb.com/programa.tar.gz

Baixe usando protocolos diferentes

Como um bom gerenciador de download, é possível solicitar mais de um download por vez. Podemos até usar protocolos diferentes na mesma ordem:

wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg

Baixar por extensão

Outra maneira de baixar vários arquivos que usam a mesma extensão, estará usando o asterisco curinga:

wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf

Este comando nem sempre funciona, pois alguns servidores podem ter bloqueado o acesso a wget.

Baixe uma lista de arquivos

Se o que queremos é baixar os arquivos que estamos encontrando, só teremos que salvar seus URL em um arquivo. Vamos criar uma lista chamada arquivos.txt e iremos indicar o nome da lista ao comando. É necessário coloque apenas um url por linha dentro de arquivos.txt.

O comando que usaremos para baixar a lista criada e que salvaremos em arquivos .txt será o seguinte:

wget -i archivos.txt

Reiniciar um download

Se por algum motivo o download foi interrompido, poderemos continue o download de onde parou usando o opção c com o comando wget:

wget -i -c archivos.txt

Adicionar um registro sobre o download

Se quisermos obter um log sobre o download, a fim de controlar qualquer incidente nele, teremos que adicionar o -o opção como é mostrado a seguir:

wget -o reporte.txt http://ejemplo.com/programa.tar.gz

Limitar largura de banda de download

Em downloads muito longos, podemos limitar a largura de banda de download. Com isso, evitaremos que o download ocupe toda a largura de banda durante o download:

wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso

Baixe com nome de usuário e senha

Se quisermos fazer o download de um site onde um nome de usuário / senha é necessário, só teremos que usar estas opções:

wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3

Tentativas de download

Por padrão, este programa faz 20 tentativas para estabelecer a conexão e inicie o download, em sites muito saturados é possível que mesmo com 20 tentativas não tenha sido alcançado. Com a opção t aumenta para mais tentativas.

wget -t 50 http://ejemplo.com/pelicula.mpg

Baixe um site com wget

Wget homem ajuda

Wget homem ajuda

Wget não se limita apenas a downloads de arquivosPoderemos baixar uma página inteira. Teremos apenas que escrever algo como:

wget www.ejemplo.com

Baixe um site e seus elementos extras

com o opção p também faremos o download de todos os elementos extras necessários na página como folhas de estilo, imagens embutidas, etc.

Se adicionarmos o opção r se irá baixar recursivamente até 5 níveis do site:

wget -r www.ejemplo.com -o reporte.log

Converter links para locais

Por padrão, os links dentro do site apontam para o endereço de todo o domínio. Se baixarmos o site recursivamente e depois estudá-lo off-line, podemos usar o opção de conversão de links isso vai transformá-los em links locais:

wget --convert-links -r http://www.sitio.com/

Obtenha uma cópia completa do site

Teremos a possibilidade de obter uma cópia completa de um site. O –Opção de espelho é o mesmo que usar o opções -r -l inf -N que indica a recursão em um nível infinito e a obtenção do carimbo de data / hora original de cada arquivo baixado.

wget --mirror http://www.sitio.com/

Transformar extensões

Se você baixar todo o site para visualizá-lo offline, vários arquivos baixados podem não abrir devido a extensões como .cgi, .asp ou .php. Então é possível indicar com o Opção –html-extension Todos os arquivos são convertidos para uma extensão .html.

wget --mirror --convert-links --html-extension http://www.ejemplo.com

Estas são apenas diretrizes gerais do que você pode fazer com Wget. Quem quiser pode consultar o manual on-line consultar todas as possibilidades que este maravilhoso gerenciador de downloads nos oferece.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Ruben Cardenal dito

    Quanto a "Baixar por extensão", parei de ler. Você não pode baixar o que você não conhece. A menos que o diretório solicitado permita a listagem de arquivos e não tenha um índice (e ambos devem ocorrer ao mesmo tempo), o que você diz não pode ser feito. Que nível.

    1.    Computador anônimo dito

      Olá Rubén, a ignorância é um pouco ousada.
      O que você comenta pode ser feito com um simples comando no google:
      tipo de arquivo:pdf site:ubunlog.com
      Neste exemplo não existe pdf neste blog, mas mude o domínio no final para a web de sua preferência e você verá como é fácil ver todos os arquivos de um tipo de web.
      Tenha um bom dia.

      1.    peça dito

        Mas o wget não se conecta ao google para encontrar os pdfs que estão em uma url. O diretório web deve estar aberto e deve haver uma página de índice gerada por mod_autoindex ou similar, como diz Rubén Cardenal.

    2.    Jimmy olano dito

      "Este comando nem sempre funciona, pois alguns servidores podem ter bloqueado o acesso ao wget."
      Esta alteração que foi colocada neste artigo, porque não concordo com ela (embora tecnicamente seja possível bloquear certos agentes web para solicitações de cabeçalho http e retornar uma mensagem 403 "não permitido") e irei explicar o porquê:

      Todos os servidores da web Apache (e estou falando de uma porcentagem considerável de servidores), por padrão, permitem globbing (excelente artigo da Wikipedia, leia: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .

      Na prática, isso significa que, conforme especificado pelo sr. Rubén (e ele está certo), SE NÃO HOUVER ARQUIVO CHAMADO "index.php" ou "index.html" (ou mesmo simplesmente chamado de "index") o servidor irá retornar silenciosamente uma lista de arquivos e diretórios (claro no formulário de uma página html com as informações como um link da web para cada arquivo). A MAIORIA DOS SERVIDORES DA WEB DESATIVAM ESTE RECURSO ATRAVÉS DO ARQUIVO .htacces (estritamente falando Apache2) POR MOTIVOS DE SEGURANÇA.

      Aqui está a versatilidade do wget (veja a história dele, novamente na Wikipedia, a que você mais conhece: https://es.wikipedia.org/wiki/GNU_Wget ) para analisar ou "analisar" essas informações e extrair apenas as extensões que solicitamos.

      Agora, caso isso não funcione, por um motivo ou outro, podemos tentar outras funções wget avançadas, cito diretamente em inglês:

      Você deseja baixar todos os GIFs de um diretório em um servidor HTTP. Você tentou 'wget http://www.example.com/dir/*.gif’, mas isso não funcionou porque a recuperação de HTTP não suporta GLOBBING (coloquei as letras maiúsculas). Nesse caso, use:

      wget -r -l1 --no-parent -A.gif http://www.example.com/dir/

      Mais detalhado, mas o efeito é o mesmo. '-r -l1' significa recuperar recursivamente (consulte Download recursivo), com profundidade máxima de 1. '–no-parent' significa que as referências ao diretório pai são ignoradas (consulte Limites baseados em diretório) e '-A. gif 'significa baixar apenas os arquivos GIF. '-A «* .gif»' teria funcionado também.

      SE VOCÊ CORRER DESTA MANEIRA, o wget criará uma pasta para nós com o endereço web solicitado na pasta padrão onde estamos trabalhando, e fará subdiretórios se necessário e ali colocará, por exemplo, as imagens .gif que nós solicitação.

      --------
      No entanto, se ainda não for possível obter apenas alguns tipos de arquivos (* .jpg, por exemplo), teremos que usar o parâmetro «–page-requisites» que baixa todos os elementos internos de uma página html (imagens, sons, css, etc) junto com a própria página html ("–page-requisites" pode ser abreviado como "-p") e isso seria o equivalente a baixar algo como um "mhtml" https://tools.ietf.org/html/rfc2557

      Eu espero que essa informação seja útil para você.

      1.    Damião Amoedo dito

        Obrigado pelas notas. Salu2.

  2.   afterbanks dito

    Acho que você tem um erro, as duas primeiras linhas têm o mesmo comando.

  3.   microfone dito

    Muito obrigado, tutorial muito bom!