Skip to content

Como usar o comando wget Linux para fazer download de páginas da Web e arquivos

30 de abril de 2021

O que saber

  • Para baixar um site completo, use o seguinte comando com o endereço da web do site: wget -r [site address]
  • Para executar o wget como um comando em segundo plano, use: wget -b [site address]

Características do comando wget

Você pode baixar sites inteiros usando wget e converta os links para apontar para fontes locais para que você possa visualizar um site offline. O utilitário wget também tenta um download novamente quando a conexão cai e continua de onde parou, se possível quando a conexão retornar. Outras características do wget são as seguintes:

  • Baixe arquivos usando HTTP, HTTPS e FTP.
  • Retomar downloads.
  • Converta links absolutos em páginas da web baixadas em URLs relativos para que os sites possam ser visualizados offline.
  • Suporta proxies HTTP e cookies.
  • Suporta conexões HTTP persistentes.
  • Ele pode ser executado em segundo plano, mesmo quando você não está conectado.
  • Funciona em Linux e Windows.

Como baixar um site usando wget

O utilitário wget baixa páginas da web, arquivos e imagens da web usando a linha de comando do Linux. Você pode usar um único comando wget para baixar de um site ou configurar um arquivo de entrada para baixar vários arquivos em vários sites. De acordo com a página do manual, o wget pode ser usado mesmo quando o usuário estiver desconectado do sistema. Para fazer isso, use o comando nohup. Para este guia, você aprenderá como baixar este blog Linux: wget www.everydaylinuxuser.com

type = “code”> Antes de começar, crie uma pasta em sua máquina usando o comando mkdir e, em seguida, mova para a pasta usando o comando cd. Por exemplo: mkdir dailylinuxuser
cd dailylinuxuser
wget www.everydaylinuxuser.com

type = “code”> O resultado é um único arquivo index.html que contém o conteúdo obtido do Google. As imagens e folhas de estilo são mantidas no Google.

Linux wget

Para baixar o site completo e todas as páginas, use o seguinte comando: wget -r www.everydaylinuxuser.com

type = “code”> Isso baixa as páginas recursivamente até um máximo de 5 níveis de profundidade. Cinco níveis de profundidade podem não ser suficientes para obter tudo do site. Use o -eu mude para definir o número de níveis que deseja ir, como segue: wget -r -l10 www.everydaylinuxuser.com

type = “code”> Se você deseja recursão infinita, use o seguinte: wget -r -l inf www.everydaylinuxuser.com

type = “code”> Você também pode substituir o inf com 0, o que significa a mesma coisa. Existe mais um problema. Você pode obter todas as páginas localmente, mas os links nas páginas apontam para o local original. Não é possível clicar localmente entre os links nas páginas.

Download do arquivo wget do Linux

Para contornar este problema, use o -k mude para converter os links nas páginas para apontar para o equivalente baixado localmente, como segue: wget -r -k www.everydaylinuxuser.com

type = “code”> Se você deseja obter um espelho completo de um site, use a seguinte opção, que elimina a necessidade de usar o -r, -k, e -eu comuta. wget -m www.everydaylinuxuser.com

type = “code”> Se você tem um site, pode fazer um backup completo usando este comando simples.

Execute o wget como um comando de fundo

Você pode fazer com que o wget seja executado como um comando em segundo plano, permitindo que você continue seu trabalho na janela do terminal enquanto os arquivos são baixados. Use o seguinte comando: wget -b www.everydaylinuxuser.com

type = “código”>

Linux wget em segundo plano

Você pode combinar interruptores. Para executar o comando wget em segundo plano enquanto espelha o site, use o seguinte comando: wget -b -m www.everydaylinuxuser.com

type = “code”> Você pode simplificar ainda mais, da seguinte maneira: wget -bm www.everydaylinuxuser.com

type = “código”>

Exploração madeireira

Se você executar o comando wget em segundo plano, não verá nenhuma das mensagens normais que ele envia para a tela. Para enviar essas mensagens a um arquivo de log para que você possa verificar o andamento a qualquer momento, use o comando tail. Para enviar informações do comando wget para um arquivo de log, use o seguinte comando: wget -o / path / to / mylogfile www.everydaylinuxuser.com

type = “code”> O reverso é não exigir nenhum registro e nenhuma saída para a tela. Para omitir todas as saídas, use o seguinte comando: wget -q www.everydaylinuxuser.com

type = “código”>

Baixar de vários sites

Você pode configurar um arquivo de entrada para baixar de vários sites diferentes. Abra um arquivo usando seu editor favorito ou o comando cat e liste os sites ou links para baixar em cada linha do arquivo. Salve o arquivo e execute o seguinte comando wget: wget -i / path / to / inputfile

type = “code”> Além de fazer backup do seu site ou encontrar algo para baixar para ler offline, é improvável que você queira baixar um site inteiro. É mais provável que você baixe um único URL com imagens ou baixe arquivos como arquivos zip, arquivos ISO ou arquivos de imagem. Com isso em mente, você não precisa digitar o seguinte no arquivo de entrada, pois é demorado:

  • http://www.myfileserver.com/file1.zip
  • http://www.myfileserver.com/file2.zip
  • http://www.myfileserver.com/file3.zip

Se você souber que o URL base é o mesmo, especifique o seguinte no arquivo de entrada:

  • file1.zip
  • arquivo2.zip
  • file3.zip

Em seguida, você pode fornecer a URL base como parte do comando wget, da seguinte maneira: wget -B http://www.myfileserver.com -i / path / to / inputfile

type = “código”>

Opções de repetição

Se você configurar uma fila de arquivos para baixar em um arquivo de entrada e deixar o computador executando para baixar os arquivos, o arquivo de entrada pode travar enquanto você estiver ausente e tentar baixar o conteúdo novamente. Você pode especificar o número de tentativas usando a seguinte opção: wget -t 10 -i / path / to / inputfile

type = “code”> Use o comando acima em conjunto com o -T alterne para especificar um tempo limite em segundos, da seguinte maneira: wget -t 10 -T 10 -i / path / to / inputfile

type = “code”> O comando acima tentará novamente 10 vezes e se conectará por 10 segundos para cada link de arquivo. Também é inconveniente quando você baixa 75% de um arquivo de 4 gigabytes em uma conexão de banda larga lenta, apenas para a conexão cair. Para usar o wget para tentar novamente de onde parou o download, use o seguinte comando: wget -c www.myfileserver.com/file1.zip

type = “code”> Se você martelar um servidor, o host pode não gostar e pode bloquear ou eliminar seus pedidos. Você pode especificar um período de espera para especificar quanto tempo esperar entre cada recuperação, da seguinte maneira: wget -w 60 -i / path / to / inputfile

type = “code”> O comando acima espera 60 segundos entre cada download. Isso é útil se você baixar muitos arquivos de uma única fonte. Alguns hosts da web podem detectar a frequência e bloquear você. Você pode tornar o período de espera aleatório para parecer que você não está usando um programa, da seguinte maneira: wget –random-wait -i / path / to / inputfile

type = “código”>

Proteja os limites de download

Muitos provedores de serviços de Internet aplicam limites de download para uso de banda larga, especialmente para aqueles que vivem fora de uma cidade. Você pode adicionar uma cota para não ultrapassar o limite de download. Você pode fazer isso da seguinte maneira: wget -q 100m -i / path / to / inputfile

type = “code”> O -q comando não funcionará com um único arquivo. Se você baixar um arquivo com 2 gigabytes de tamanho, usando -q 1000m não interrompe o download do arquivo. A cota é aplicada apenas ao baixar recursivamente de um site ou ao usar um arquivo de entrada.

Passe pela segurança

Alguns sites exigem que você faça login para acessar o conteúdo que deseja baixar. Use as seguintes opções para especificar o nome de usuário e a senha. wget –user = yourusername –password = yourpassword

type = “code”> Em um sistema multiusuário, quando alguém executa o ps comando, eles podem ver seu nome de usuário e senha.

Outras opções de download

Por padrão, o -r switch baixa recursivamente o conteúdo e cria diretórios conforme ele avança. Para obter todos os arquivos para baixar em uma única pasta, use a seguinte opção: wget -nd -r

type = “code”> O oposto disso é forçar a criação de diretórios, o que pode ser feito usando o seguinte comando: wget -x -r

type = “código”>

Como fazer download de certos tipos de arquivo

Se você deseja fazer download recursivamente de um site, mas deseja apenas fazer download de um tipo de arquivo específico, como um MP3 ou uma imagem como um PNG, use a seguinte sintaxe: wget -A “* .mp3” -r

type = “code”> O reverso disso é ignorar certos arquivos. Talvez você não queira baixar executáveis. Nesse caso, use a seguinte sintaxe: wget -R “* .exe” -r

type = “código”>

Cliget

Existe um complemento do Firefox chamado cliget. Para adicionar isso ao Firefox:

  1. Visite https://addons.mozilla.org/en-US/firefox/addon/cliget/ e clique no adicionar ao Firefox botão.

  2. Clique no instalar quando ele aparecer e reinicie o Firefox.

  3. Para usar o cliget, visite uma página ou arquivo que deseja baixar e clique com o botão direito. Um menu de contexto aparece chamado cliget, e há opções para copiar para wget e copiar para curl.

  4. Clique no copiar para wget opção, abra uma janela de terminal, clique com o botão direito e escolha colar. O comando wget apropriado é colado na janela.

Isso evita que você tenha que digitar o comando sozinho.

Resumo

O comando wget possui várias opções e opções. Para ler a página de manual do wget, digite o seguinte em uma janela de terminal: man wget

class = “ql-syntax”>