Estou usando o wget
programa, mas quero que ele não salve o arquivo html que estou baixando. Quero que seja descartado depois de recebido. Como faço isso?
Estou usando o wget
programa, mas quero que ele não salve o arquivo html que estou baixando. Quero que seja descartado depois de recebido. Como faço isso?
Respostas:
Você pode redirecionar a saída do wget para / dev / null (ou NUL no Windows):
wget http://www.example.com -O /dev/null
O arquivo não será gravado no disco, mas será baixado.
Se você não deseja salvar o arquivo e aceitou a solução de baixar a página /dev/null
, suponho que esteja usando o wget para não obter e analisar o conteúdo da página .
Se sua real necessidade for acionar alguma ação remota, verifique se a página existe e assim por diante acho que seria melhor evitar o download da página do corpo html.
Brinque com as wget
opções para recuperar apenas o que você realmente precisa, como cabeçalhos http, status da solicitação etc.
supondo que você precise verificar se a página está correta (ou seja, o status retornado é 200), você pode fazer o seguinte:
wget --no-cache --spider http://your.server.tld/your/page.html
se você deseja analisar os cabeçalhos retornados pelo servidor, faça o seguinte:
wget --no-cache -S http://your.server.tld/your/page.html
Veja a página de manual do wget para mais opções para brincar.
Veja lynx
também, como uma alternativa ao wget.
--no-cache
na página de manual diz que faz com que o wget "envie ao servidor remoto uma diretiva apropriada ('Pragma: no-cache') para obter o arquivo do serviço remoto"
$ wget http://www.somewebsite.com -O foo.html --delete-after
--delete-after
opção é a opção quando você precisa fazer o download recursivamente, mas deseja descartar o conteúdo real.
-O /dev/null
Caso você também queira imprimir no console, o resultado pode ser:
wget -qO- http://www.example.com
q
modo silencioso (não produz progresso e outras informações) e O-
(grava o documento recuperado no console).
Confira a opção "-spider". Eu o uso para garantir que meus sites estejam ativos e me envie um e-mail, se não estiverem. Esta é uma entrada típica do meu crontab:
46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi
Para uma caixa * NIX e uso wget
, sugiro pular a gravação em um arquivo. Percebi na minha caixa do Ubuntu 10.04 que wget -O /dev/null
fez com que o wget interrompesse os downloads após o primeiro download.
Notei também que wget -O real-file
faz com que o wget esqueça os links reais na página. Ele insiste em index.html
estar presente em cada página. Tais páginas nem sempre podem estar presentes e o wget não se lembra dos links que viu anteriormente.
mkdir /dev/shm/1
cd /dev/shm/1
wget --recursive --relative --no-parent ...
Observe que não há -O file
opção. O wget gravará no diretório $ PWD. Nesse caso, é um sistema de arquivos tmpfs somente para RAM . A escrita aqui deve ignorar a rotatividade do disco (dependendo do espaço de troca) E acompanhar todos os links. Isso deve rastrear o site inteiro com êxito.
Depois, é claro,
rm --recursive --force /dev/shm/1/*
Use a opção --delete-after, que exclui o arquivo após o download.
Edit: Opa, acabei de perceber que já foi respondido.
De acordo com o documento de ajuda (wget -h), você pode usar a opção --spider para pular o download (versão 1.14).
Download:
-S, --server-response print server response.
--spider don't download anything.
/dev/null
coisa funcionaria?