Aller au contenu

Aspirer un site à intervalle régulier


Sujets conseillés

Posté

Bonjour,

la semaine prochaine, j'ai besoin de faire un truc un peu spécial, et je me demandais s'il existe un logiciel (de préférence gratuit) me permettant de le faire :

Sur un site d'accès public, sera publié cette semaine une page qui sera mise en accès public pendant quelques minutes (pour des essais de publication avant la mise en ligne officielle).

N'ayant ni le temps ni la possibilité de rester connecté sur ce site de 8 heures à 18 heures pour rafraîchir ma page, je me demandais s'il existait un programme me permettant d'aspirer tout le contenu de ce site à intervalle régulier (genre toutes les 2 ou 3 minutes) en ne téléchargeant, à partir de la 2ème fois, que les mises à jour et les conservant après qu'elles ne soient plus en ligne.

une idée ???

merci d'avance

Posté

Un wget avec les bonnes options (man wget pour les trouver) en cron ou dans une boucle avec un sleep approprié...

Trivial, quoi :->

Jacques.

Posté

... en ne téléchargeant, à partir de la 2ème fois, que les mises à jour et les conservant après qu'elles ne soient plus en ligne.

wget permet de faire ça ?

Puisque c'est si simple que ça pour toi jcaron, merci de nous donner le script complet, car je suis également très intéressé et je ne sais pas comment faire.

++

Patrick

Posté

La preuve que c'est simple:


wget --mirror url_de_la source

--mirror essaie de tout récupérer (en sautant ce qui n'a pas changé), mais n'efface pas les fichiers qui ne sont plus présents ou vers lesquels il n'y a plus de liens, donc c'est un peu abusif comme nom pour l'option, mais ça tombe bien, c'est ce qu'on veut ici.

Tu peux ensuite le mettre en cron


*/3 * * * * wget --mirror url_de_la source

Mais si ça met plus de 3 minutes à parcourir tout ça ça risque de faire de pas belles choses (parce que 2 wget ou plus vont se lancer en parallèle). Donc, mieux, un petit script qui attend que ce soit fini, attend un peu, et recommence:


#!/bin/sh
while true
do
wget --mirror url_de_la_source
sleep 180
done

Evidemment il peut être nécessaire d'ajuster les options de wget suivant les liens qu'il y a sur les pages en question (là il va essayer de suivre tous les liens et de télécharger tous les fichiers, images, etc. et tout ça récursivement jusqu'à plus soif). Encore une fois, man wget est l'ami de tous.

Jacques.

Posté

merci infiniment.

C'est exactement ce qu'il me fallait et cela me convient parfaitement dans la mesure où ça télécharge également tous les pdf, jpg etc.

ma ligne donne ça : c:\Users\superve>wget -r -k -level=8 --proxy=off --cache=off --html-extension -mirror http://www.NDD.fr

Maintenant il ne me reste plus qu'à me battre avec le cron...

suis sous vista et apparemment c'est un truc linux, les cron pour windows doivent pas fonctionner pareil...

Merci en tous cas

Posté

suis sous vista et ...

Si t'as un access shell au serveur, rsync devrait etre plus rapide.

Un accès shell sous Vista :?:

Posté
Maintenant il ne me reste plus qu'à me battre avec le cron...

suis sous vista et apparemment c'est un truc linux, les cron pour windows doivent pas fonctionner pareil...

Sous Windows, il y a le "Planificateur de tâches" (dans "Tous les programmes" >> "Accessoires" >> "Outils système").

Jean-Luc

Posté

Un accès shell sous Vista :?:

Il y a une ligne de commande pour Cygwin ou encore des clones compatibles rsync (en 5 secondes, notre ami google m'a sortie cwRsync et DeltaCopy).

Lolo (C'est vrais que j'ai du mal a faire l'association entre les mots "serveur" et "ms-vista" ;) )

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...