Pré-requis
Vous devez disposer d’une version de python3 installée sur votre ordinateur. Certains systèmes d’exploitation sont livrés avec, mais la plupart du temps ou Python n’est pas installé par défaut, ou il est installé dans une version 2.x. Si vous ne savez pas si python 3 est installé, vous pouvez vous rendre sur la page de documentation de Python.
Trouver le modèle d’URL
Imaginons que l’on souhaite récupérer les images des folios 1r à 382v du manuscrit latin 1 de la Dombibliothek, à Cologne. Une fois la première image affichée dans le navigateur, il faut cliquer droit dessus et choisir « Copier l’adresse de l’image », « Copier l’Url de l’Image » ou une formule similaire (cela dépend de votre navigateur).
Vous venez d’ajouter l’adresse de l’image dans votre presse-papier. Il vous faut désormais la coller dans un éditeur de texte.
Dans le cas présent, l’URL est :
http://www.ceec.uni-koeln.de/projekte/CEEC/manuscripts/fit/kn28-0001/kn28-0001_001.jpg
Parfois affichée sous la forme plus obscure :
http://www.ceec.uni-koeln.de/projekte/CEEC/manuscripts/fit/kn28%2d0001/kn28%2d0001%5f001%2ejpg
On constate que le %2
équivaut à -
et que %5f
équivaut à _
.
Il faut procéder de la même manière pour la dernière image. Dans le cas présent, on obtient l’url :
http://www.ceec.uni-koeln.de/projekte/CEEC/manuscripts/fit/kn28-0001/kn28-0001_764.jpg
Parfois affichée sous la forme plus obscure :
http://www.ceec.uni-koeln.de/projekte/CEEC/manuscripts/fit/kn28%2d0001/kn28%2d0001%5f764%2ejpg
Déterminer les paramètres
Dans ce genre de publication en ligne, on constate que les URLs possèdent des éléments invariants et un élément variant, à savoir un nombre. Dans le cas présence, il s’agit du nombre qui suit kn28-0001_
:
- il est égal à
001
pour la première image. - il est égal à
1764
pour la dernière image.
Notez ces deux numéros : le script va parcours l’ensemble des numéros compris entre eux, inclus.
Nous modifions l’URL, pour fabriquer une URL générique. Nous mettons à la place du numéro le code suivant {nombre}
. Ce qui donne dans le cas présent :
http://www.ceec.uni-koeln.de/projekte/CEEC/manuscripts/fit/kn28-0001/kn28-0001_{nombre}.jpg
Configuration du script
Ayant noté l’ensemble des paramètres, il faut désormais configurer le script, après l’avoir téléchargé [1] :
Après avoir dézippé, ouvrir le fichier config.py
. Il doit normalement s’ouvrir avec un éditeur python, installé en même temps que Python sur votre machine. Actuellement, il contient les lignes suivantes :
Nous n’allons modifier, pour le moment, que les lignes 3 à 7, ainsi que la ligne 11 Chaque paramètre peut être :
- Un chaîne de caractères, entre guillemets.
- Un nombre entier, sans guilllement
Il faut modifier :
- le paramètre
base
, en mettant l’url générique que nous avons construit. - le paramètre
min
, qui doit contenir le nombre correspondant à notre première image. - le paramètre
max
correspondant à notre dernière image. - le paramètre
dossier
contenant le nom du dossier dans lequel nous enregistrons les fichiers. - le paramètre
extension
contenant l’extension des fichiers enregistrés. - le paramètre
complete
contenant le nombre total de caractère pour l’affichage des nombres dans l’url. Dans le cas présent, on voit que la première image a le nombre affiché sous la forme001
: il y a donc trois nombres.
Notre fichier va donc contenir les lignes suivantes :
Exécution du script
Il nous reste à exécuter le script recuperation-images-livre.py
. Pour ce faire, deux solutions s’offrent à nous :
- en ligne de commande, avec le Terminal/l’invite de commande. Une fois dans le dossier du script, frapper :
python3 recuperation-images-livre.py
- avec le logiciel IDLE, livré avec les installations python, ouvrir le fichier
recuperation-images-livre.py
, puis dans le menu « Run », choisir « Run module ».
Dans les deux cas, on doit voir défiler à l’écran les URLs de chaque image téléchargée, précédés du nom du fichier enregistré sur votre ordinateur.
Il ne reste plus qu’à récupérer le dossier.
Paramètre supplémentaire
Il peut arriver que certains sites proposent des pages numérotés en nombres romains minuscules. Dans ce cas, il faut changer la l. 10 du script, en :
romain = True