90 votes

Faire en sorte que `wget` n'enregistre pas la page

J'utilise le wget mais je veux qu'il n'enregistre pas le fichier html que je suis en train de télécharger. Je veux qu'il soit supprimé après sa réception. Comment dois-je m'y prendre ?

4voto

dindenver Points 1600

Vérifiez l'option "-spider". Je l'utilise pour m'assurer que mes sites Web sont en ligne et m'envoyer un courriel s'ils ne le sont pas. Voici une entrée typique de ma crontab :

46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi

3voto

JamesThomasMoon Points 609

Si vous devez explorer un site Web à l'aide de wget et que vous voulez minimiser la consommation de disque...

Pour une boîte *NIX et en utilisant wget je suggère de ne pas écrire dans un fichier. J'ai remarqué sur ma boîte Ubuntu 10.04 que wget -O /dev/null provoquait l'abandon des téléchargements par wget après le premier téléchargement.
J'ai aussi remarqué que wget -O real-file fait que wget oublie les liens réels sur la page. Il insiste sur un index.html pour être présent sur chaque page. Ces pages ne sont pas toujours présentes et wget ne se souvient pas des liens qu'il a vus précédemment.

Pour l'exploration sans écriture sur le disque, la meilleure solution que j'ai trouvée est la suivante

 mkdir /dev/shm/1   
 cd /dev/shm/1
 wget --recursive --relative --no-parent ...

Remarquez qu'il n'y a pas -O file wget écrira dans le répertoire $PWD. Dans ce cas, il s'agit d'un répertoire en RAM seulement. tmpfs système de fichiers. L'écriture à cet endroit devrait permettre de contourner la rotation du disque (en fonction de l'espace d'échange) ET de conserver la trace de tous les liens. Cela devrait permettre d'explorer tout le site web avec succès.

Après, bien sûr,

 rm --recursive --force /dev/shm/1/*

2voto

John Gardeniers Points 27097

Utilisez l'option --delete-after, qui supprime le fichier après son téléchargement.

Edit : Oops, je viens de remarquer que la réponse a déjà été donnée.

2voto

rocky qi Points 111

Selon le document d'aide (wget -h), vous pouvez utiliser l'option --spider pour sauter le téléchargement (version 1.14).

Download:
  -S,  --server-response         print server response.
       --spider                  don't download anything.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X