GNU Wget é um utilitário de linha de comando versátil que se tornou indispensável para muitos usuários Linux que dependem dele para buscar arquivos da internet sem esforço. É rico em recursos, fácil de usar e suporta protocolos de rede comuns, incluindo HTTP, HTTPS e FTP. Além disso, o Wget tem suporte integrado para baixar sites inteiros ou subconjuntos de páginas, tornando-o uma ferramenta ideal para scraping de dados, espelhamento e arquivamento.
Um dos recursos mais impressionantes do Wget é sua capacidade de trabalhar perfeitamente com proxies. Como usuário Linux, você frequentemente precisará de um Proxy para mascarar sua identidade, contornar restrições regionais irritantes ou melhorar o desempenho por meio de balanceamento de carga. Com o Wget em seu conjunto de ferramentas, integrar proxies é simples.
O Que É o Wget?
Wget, abreviação de “World Wide Web” e “get”, é um programa gratuito e de código aberto para interagir com arquivos na internet. Faz parte do Projeto GNU, um esforço de colaboração em massa de software livre.
O Wget vem equipado com recursos úteis para usuários técnicos que trabalham com arquivos online. Eles incluem downloads em lote, retomada de downloads interrompidos, download recursivo, suporte a Proxy, agendamento de downloads, limitação de Largura de banda, agente de usuário personalizável e suporte a SSL/TLS. Também é não interativo, tornando-o perfeito para scripts e cron jobs executados em segundo plano.
O Wget é popular entre usuários Linux e Unix e também tem versões disponíveis para Windows e macOS. A impressionante gama de recursos e compatibilidade entre plataformas do Wget o tornam a ferramenta preferida para várias tarefas baseadas na web, como baixar arquivos grandes, automatizar downloads e criar espelhos de sites.
Usando Proxies com Wget no Linux
Existe uma grande variedade de proxies, incluindo Proxy de datacenter e IPs residencialis, cada um com suas próprias vantagens e casos de uso. Usar proxies com o Wget oferece benefícios, como contornar restrições geográficas e de rede/ISP. Também permite manter o anonimato e a privacidade ao navegar na web ou baixar arquivos.
Ao usar o provedor de Proxy certo, os proxies também podem ser usados para armazenar em cache recursos frequentemente acessados, melhorando o desempenho. Além disso, os provedores de Proxy podem influenciar suas velocidades de rede, ajudá-lo a contornar limites de taxa fornecendo um amplo Pool de proxies de endereços IP e até fornecer soluções que ajudam a contornar captchas. Isso torna a seleção do provedor de Proxy certo essencial para garantir que seu Proxy funcione de forma eficaz, especialmente ao usá-lo com o Wget.
Configurando o Wget com um Proxy
Para usar o Wget com um Proxy, você precisa configurar as definições apropriadas em seu ambiente ou dentro do próprio comando Wget. Existem várias maneiras diferentes de fazer isso, e este tutorial abordará quatro delas: configurar definições de Proxy usando variáveis de ambiente, definir proxies para todos os usuários atualizando o arquivo /etc/wgetrc, definir proxies para o usuário atual atualizando o arquivo ~/.wgetrc e definir o Proxy para a instância do terminal atual usando o sinalizador -e. Você também aprenderá como usar o Wget com proxies autenticados e não autenticados.
Você pode encontrar todas as configurações discutidas neste artigo neste GitHub gist.
Antes de começar a usar o Wget com um Proxy, você precisa do seguinte:
- Sistemas baseados em Debian
- Detalhes do servidor Proxy: Para usar o Wget com um Proxy, você precisa dos detalhes do servidor Proxy. Isso inclui o endereço IP ou nome de host do servidor, número da porta e, se necessário, informações de autenticação (ou seja nome de usuário e senha). Você pode obter essas informações do seu provedor de Proxy ou administrador de rede.
1. Configurar Definições de Proxy Usando Variáveis de Ambiente
A maneira mais fácil de definir configurações de Proxy para o Wget é defini-las no nível do sistema usando variáveis de ambiente. Isso permite que vários programas leiam o valor e o utilizem, de modo que você só precisa alterá-lo uma vez. Definir o Proxy como uma variável de ambiente garante que o Wget o use para todas as solicitações feitas do seu computador.
Para configurar um Proxy para o Wget, adicione as seguintes linhas ao seu arquivo de configuração de shell (ou seja .bashrc ou .bash_profile) e substitua os espaços reservados pelo endereço e porta do seu servidor Proxy (ou seja http://proxy.example.com:8080):
export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port
Se o Proxy requer autenticação, em vez de http://proxy_address:proxy_port, você também deve adicionar o nome de usuário e a senha na URL para que fique assim:
export http_proxy=http://username:password@proxy_address:proxy_port
export https_proxy=username:password@proxy_address:proxy_port
export ftp_proxy=username:password@proxy_address:proxy_port
Lembre-se de substituir as variáveis
username,password,proxy_addresseproxy_portpelos valores apropriados (ou sejahttp_proxy=http://username:[email protected]:8080).
Após adicionar essas linhas, reinicie seu shell ou execute source .bashrc ou source .bash_profile, dependendo de qual arquivo você usou para aplicar as alterações.
2. Definir Proxies para Todos os Usuários Atualizando o Arquivo /etc/wgetrc
Se você precisar definir um Proxy para todo o sistema. Por exemplo, se quiser usar um Proxy apenas ao baixar arquivos com o Wget para proteger sua identidade, o Wget fornece uma maneira fácil de fazer isso, podendo ser feito para um usuário individual do sistema ou para todos os usuários do sistema.
Definir o Proxy para todos os usuários do sistema é útil em casos onde há uma máquina compartilhada da empresa com diferentes usuários que dependem do mesmo Proxy para realizar o trabalho. O Wget permite que você configure o Proxy uma vez para que todos os usuários possam acessá-lo.
Para definir um Proxy para todos os usuários, você precisa modificar o arquivo de configuração localizado em /etc/wgetrc. O arquivo wgetrc é um arquivo de inicialização que armazena configurações e opções padrão para o Wget. Este arquivo permite personalizar seu comportamento sem sempre especificar argumentos de linha de comando.
Para definir o Proxy, abra o arquivo wgetrc usando seu editor de texto favorito e adicione as seguintes linhas:
https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080
Para proxies autenticados, use a seguinte sintaxe:
https_proxy = http://username:[email protected]:8080
http_proxy = http://username:[email protected]:8080
ftp_proxy = http://username:[email protected]:8080
Substitua proxy.example.com:8080 e username:password pelo endereço, porta e credenciais de autorização do seu servidor Proxy. Salve o arquivo e feche o editor. A partir de agora, todas as solicitações Wget feitas por qualquer usuário no seu sistema usarão o servidor Proxy especificado.
3. Definir Proxies para o Usuário Atual Atualizando o Arquivo ~/.wgetrc
O Wget também permite alterar as configurações de Proxy apenas para o usuário atual. Isso pode ser útil se você estiver em uma situação onde os detalhes do Proxy precisam de informações de autenticação específicas para cada usuário.
Para definir o Proxy, você precisa criar/modificar o arquivo ~/.wgetrc. Este é um arquivo wgetrc específico do usuário localizado no seu diretório home (~/). Ele armazena configurações que afetam apenas o usuário atual. O arquivo ~/.wgetrc pode não existir por padrão, especialmente em novas instalações Linux ou contas de usuário, porque o arquivo é normalmente criado quando um usuário precisa personalizar as configurações do Wget específicas para sua conta. Se o arquivo não existir, você pode criá-lo.
Depois de ter o arquivo ~/.wgetrc, abra-o no seu editor de texto favorito e adicione as seguintes linhas:
https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080
Novamente, lembre-se de substituir proxy.example.com:8080 pelos seus detalhes específicos. Este método afeta apenas as solicitações Wget feitas pelo usuário atual. Se você mudar para um usuário diferente na mesma máquina, essas configurações não se aplicam.
4. Definir Proxy para a Instância do Terminal Atual Usando o Sinalizador -e
Se você não quiser definir o Proxy no nível do sistema ou do Wget, pode configurá-lo diretamente ao executar o comando Wget. Este método permite usar diferentes configurações de Proxy para comandos Wget individuais, oferecendo maior flexibilidade.
Para especificar a configuração de Proxy para uma única solicitação Wget, use a seguinte sintaxe:
# http proxy
wget -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port URL
# https proxy
wget -e use_proxy=yes -e https_proxy=http://proxy_address:proxy_port URL
Neste código, URL é a URL que você deseja que o Wget busque (ex. www.google.com).
Para proxies autenticados, você pode usar a sintaxe http://username:password@proxy_address:proxy_port para especificar o Proxy, conforme discutido na seção anterior.
Este método permite definir um Proxy para uma única solicitação sem afetar outras solicitações, sessões de terminal ou usuários.
Usando o Wget
Felizmente, usar o Wget é simples. A sintaxe geral para o Wget é wget [options] [url], onde você primeiro especifica argumentos opcionais (ou seja [options]), como o -e use_proxy=yes que você aprendeu anteriormente, seguido pela [url] que deseja buscar. Pode ser um arquivo de mídia, como um documento ou até mesmo uma página web.
Como a primeira parte é opcional, você pode buscar um recurso web especificando wget [url]. Por exemplo, chamar wget http://example.com/file.pdf busca o arquivo e o baixa para sua máquina local.
Você também pode baixar um arquivo especificando o nome a ser usado ao salvá-lo no disco. Para fazer isso, use o argumento --output-document:
wget --output-document=image.jpg https://httpbin.org/image/jpeg
O Wget também permite agrupar seus downloads e baixar de múltiplas URLs em um único comando. Para fazer isso, você precisa criar um arquivo e colar suas URLs, cada uma em sua própria linha. Depois disso, você pode executar o seguinte comando:
wget ‐‐input list-of-file-urls.txt
Observação: Se você estiver usando o método 4 para especificar seu Proxy, deve anexar
-e use_proxy=yes -e http_proxy=http://proxy_address:proxy_portaos comandos anteriores para que funcionem com um Proxy. As opções 1, 2 e 3 funcionarão como estão, pois o Proxy já está configurado.
Conclusão
Neste artigo, você aprendeu quatro métodos diferentes para usar o Wget com um Proxy e as vantagens de fazê-lo. Você pode selecionar o método mais apropriado dependendo de suas preferências para aplicar proxies em todo o sistema, para todos os usuários, para um usuário específico ou para uma única solicitação Wget.
Embora usar o Wget com um Proxy ofereça inúmeros benefícios, escolher os serviços de Proxy certos é essencial para maximizar o desempenho e a confiabilidade. A Bright Data é uma infraestrutura de dados web que auxilia empresas na coleta de grandes quantidades de dados estruturados da web. Ao usar suas soluções de Proxy, você pode melhorar sua experiência com o Wget e reduzir o número de solicitações com falha, garantindo uma melhor recuperação de informações da internet.
Seja você uma startup ou uma empresa, a Bright Data ajuda você a fazer scraping de sites e coletar dados usando suas soluções de Proxy e ferramentas personalizadas, como Web Scraper API e Web Unlocker. Explore os proxies de datacenter, opções de servidor Proxy e preços da Bright Data para encontrar a solução perfeita para seus requisitos de rede de Proxy.