Bonjour à tous,
Nouvellement inscrit sur votre forum, et néophyte en langage informatique, j'espère que je poste au bon endroit de votre vaste forum. Je subodore que Wget ait été conçu pour Linux, mais dans la mesure où une version fonctionne sous Windows, et qu'il me semble que le langage approprié se nomme alors "batch", je suppose que mon message se trouvera plus ou moins bien ici. Si ce n'est pas le cas, veuillez m'en excuser, et je compte sur les administrateurs pour le déplacer à l'endroit approprié.
Juste pour poser le contexte : en tant que simple amateur, j'effectue des recherches climatologiques. Pour ce faire, il me faut récupérer sur le web des images météorologiques de toute sorte. Je travaille sous Windows 7, 64bits.
Ces images (satellites, radar, siffleurs, cartes, etc...) sont libres d'accès, et se rafraîchissent à intervalle régulier. Du coup, j'utilise Wget, lui-même lancé à intervalles de temps réguliers par le planificateur de tâches Windows. Cela fait des mois que je cherche à droite et à gauche des informations sur comment utiliser Wget, et voici ce à quoi je suis modestement parvenu.
Jusque là tout va bien, tous les fichiers sont bel et bien téléchargés à intervalles de temps réguliers, et s'enregistrent dans le même dossier que celui où figure le fichier.bat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part wget http://url/fichier.jpg
Première amélioration que j'ai tenté d'apporter, dans la mesure où plus de 1200 images sont téléchargées chaque 24h : trier ces images en les affectant dans des dossiers respectifs.
Pas de problème non plus, tous les fichiers se téléchargent et s'entassent chacun dans leur dossier respectif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part wget http://url/fichier.jpg --prefix-directory=C:\chemin\dossier
Deuxième amélioration nécessaire, dans la mesure au bout d'une semaine, il y a parfois plus de 8000 images par dossier : trier une seconde fois ces images en les affectant dans des sous-dossiers respectifs renommés en fonction de la date de téléchargement.
La chose fonctionne encore, et chaque jour un nouveau sous-dossier est créé automatiquement du type : sous-dossier_AAAAMMJJ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part wget http://url/fichier.jpg --prefix-directory=C:\chemin\dossier\sous-dossier_%date:~6,4%%date:~3,2%%date:~0,2%
Troisième amélioration nécessaire, et c'est là que ça bloque. Les images qui se rafraichissent sur le web ont toujours strictement le même nom. Avec wget, les fichiers consécutifs téléchargés, pour ne pas écraser les précédents, sont renommés, mais malheureusement en perdant leur extension. Ainsi j'obtiens une tonne de fichiers à renommer. D'abord fichier.jpg, puis fichier.jpg.1, fichier.jpg.2, fichier.jpg.3, .... , fichier.jpg.5000, etc...
Au départ je les renommais à la volée avec Antrenamer, et j'obtenais alors fichier.jpg.1.jpg, fichier.jpg.2.jpg, fichier.jpg.3.jpg, etc... Mais franchement, à la longue c'est fastidieux.
Apprenant que Wget était capable de renommer les fichiers, je teste, en affectant date et heure à chaque fichier afin de faire varier leur nom, et ainsi empêcher Wget d'écraser le fichier précédent ou de renommer lui-même les fichiers en perdant leur extension.
Jusque là ça fonctionne, j'obtiens effectivement des fichiers conservant leur extension, et du type : nouveau-nom_AAAAMMJJ_HHMMSS.jpg téléchargé dans le dossier qui contient le fichier.bat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part wget http://url/fichier.jpg --output-document=nouveau-nom_%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%.jpg
Bon, et bien il ne reste plus qu'à orienter ces fichiers dans leurs sous-dossiers respectifs.
Et bien cela ne fonctionne pas, les fichiers continuent à être téléchargés dans le dossier contenant le fichier.bat, comme si la fonction --prefix-directory était ignorée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part wget http://url/fichier.jpg --prefix-directory=C:\chemin\dossier\sous-dossier_%date:~6,4%%date:~3,2%%date:~0,2% --output-document=nouveau-nom_%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%.jpg
Naïvement, j'essaye d'inverser :
Bien évidemment cela ne change rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part wget http://url/fichier.jpg --output-document=nouveau-nom_%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%.jpg --prefix-directory=C:\chemin\dossier\sous-dossier_%date:~6,4%%date:~3,2%%date:~0,2%
Quelqu'un sait-il m'expliquer où se situe le problème ?
Avec tous mes remerciements,
Cordialement,
Mathieu.
Partager