Aspirateur de site

J’avais besoin de récupérer tous les fichiers audio d’un site internet pour apprendre la prononciation de certains sinogrammes en chinois mandarin. Je devais pour cela me rendre sur la page du sinogramme et afficher la source pour pouvoir enregistrer le fichier audio, dans le but de pouvoir l’écouter à tous moments et sur n’importe quels supports.

J’ai donc codé un script rudimentaire pour récupérer tous les fichiers audios d’un répertoire.

Je connaissais l’emplacement des fichiers, je savais aussi qu’ils étaient en mp3, qu’ils pouvaient avoir de 1 à 6 lettres sans accent et également un chiffre à la fin pour certains. Sachant cela j’ai développé ce petit script, assez rudimentaire mais efficace.

Je n’ai pas eu de problèmes de bannissements, ni de mon FAI, ni du site en question.

Il y a 6 boucles imbriquées qui testent toutes les possibilités, c’est donc très long pour arriver à la fin du script. Il est donc important de connaître le nombre de lettres/chiffres maximum possible pour gagner du temps.

#!/bin/bash

for L1 in {a..z} ; do
wget https://leSite.tld/sounds/$L1.mp3
for N in {0..9} ; do
wget https://leSite.tld/sounds/$L1$N.mp3
done

for L2 in {a..z} ; do
wget https://leSite.tld/sounds/$L1$L2.mp3
for N in {0..9} ; do
wget https://leSite.tld/sounds/$L1L2$N.mp3
done

for L3 in {a..z} ; do
wget https://leSite.tld/sounds/$L1$L2$L3.mp3
for N in {0..9} ; do
wget https://leSite.tld/sounds/$L1$L2$L3$N.mp3
done

for L4 in {a..z} ; do
wget https://leSite.tld/sounds/$L1$L2$L3$L4.mp3
for N in {0..9} ; do
wget https://leSite.tld/sounds/$L1$L2$L3$L4$N.mp3
done

for L5 in {a..z} ; do
wget https://leSite.tld/sounds/$L1$L2$L3$L4$L5.mp3
for N in {0..9} ; do
wget https://leSite.tld/sounds/$L1$L2$L3$L4$L5$N.mp3
done

for L6 in {a..z} ; do
wget https://leSite.tld/sounds/$L1$L2$L3$L4$L5$L6.mp3
for N in {0..9} ; do
wget https://leSite.tld/sounds/$L1$L2$L3$L4$L5$L6$N.mp3
done
done
done
done
done
done
done

Documentation

https://en.wikipedia.org/wiki/Pinyin_table

> Partager <