Où la manière d'alimenter le gestionnaire de fonds d'écran de votre système d'exploitation

Ce Post est en rapport avec la publication précédente où j'ai décrit une manière de récupérer l'image du jour du site Bing.com.

L'idée est, ici, de récupérer les autres publications du site de chez Microsoft. Malheureusement, l'historique est limité à quelques jours. Impossible donc de butiner sur l'intégralité des images déjà publiées sur Bing.com.

En googlant, on trouve un site bien pourvu: istartedsomething.com.

Le départ de leur archive remonte au 01 janvier 2012. C'est déjà pas mal. Par contre, je n'ai pas trouvé de moyen sur le site permettant d'aspirer les images, pour une visualisation hors-ligne.

Voici donc un petit script bash maison, sans prétention, de type 'copy/paste/save/execute/delete/forget' qui fait le job.

Comme toujours, adapter le code selon vos besoins.

L'exécution du script créera un répertoire par année.

Cerise sur le gateau, on peut extraire seulement une période si on le souhaite.

Par défaut, le script balaie l'intégralité des archives de istartedsomething.com.

#!/bin/bash

# Repertoire ou sont stockes les images de BING.COM
bing_rep="/home/ehamon/Téléchargements/bing-wallpaper"

tmp_html="$(dirname $0)"
page_html="${tmp_html}/tmpa.html"

racine="http://www.istartedsomething.com/bingimages/cache"

# Periode
# now=`date +"%Y-%m-%d" -d "01/01/2017"`
# end=`date +"%Y-%m-%d" -d "12/31/2017 + 1 day"`

# L'integrale!
now=`date +"%Y-%m-%d" -d "01/01/2012"`
end=`date +"%Y-%m-%d" -d "$(date +"%Y-%m-%d") + 1 day"` # demain

# On efface les fichiers temporaires (index du mois).
/bin/rm ${tmp_html}/20*.html

while [ "$now" != "$end" ] ;
do
       echo "Traitement : ${now}"

       now_y=`date +"%Y" -d "$now"`;
       now_m=`date +"%m" -d "$now"`;
       now_d=`date +"%d" -d "$now"`;

       if [ ! -d "${bing_rep}/${now_y}" ] ; then
         mkdir "${bing_rep}/${now_y}"
       fi

       fic_note="${bing_rep}/${now_y}/aa-notes-${now_y}.txt"

       ficmonth="${tmp_html}/${now_y}${now_m}.html"
       if [ ! -f "${ficmonth}" ] ; then
         /usr/bin/wget -A.html "https://www.istartedsomething.com/bingimages/?m=${now_m}&y=${now_y}#none" -O ${ficmonth} -o /dev/null
       fi

       ressource=$(cat $ficmonth | grep -A 1 "${now_y}${now_m}${now_d}-fr" | /usr/bin/perl -ne 'if ( /resize\.php\?i=(.*\.jpg)\&w=/ ) {print "$1";}')
       commentaire=$(cat $ficmonth | grep -A 1 "${now_y}${now_m}${now_d}-fr" | /usr/bin/perl -ne 'if ( /alt=\"(.*)\" \/>/ ) {print "$1";}')

       if [ -n "${ressource}" ] ; then
         image="${now_y}-${now_m}-${now_d}--${ressource}"

         echo "     ${ressource}"
         echo "     ${racine}/${ressource}"
         echo "     ${commentaire}"

         if [ ! -f "${bing_rep}/${now_y}/${image}" ] ; then
            /usr/bin/wget "${racine}/${ressource}" -O "${bing_rep}/${now_y}/${image}" -o /dev/null
         fi
         /bin/grep "${image}" $fic_note > /dev/null 2>&1
         if [ $? -ne 0 ] ; then
           echo "${image} ; ${commentaire}" >> $fic_note
         fi
         echo -n "     "
         ls -ld "${bing_rep}/${now_y}/${image}"
       fi

       # next
       now=`date +"%Y-%m-%d" -d "$now + 1 day"`;
done

exit

Testé sur Debian Stretch.

Résultat:

De 2012 à 2017, on obtient 2187 images.

ehamon@elnina:~/Téléchargements/bing-wallpaper »
$ ls -1 -R 20?? | grep ".jpg$" |wc -l                                     
2187

On constate le changement dans la taille des images au 21 décembre 2017. On passe d'un format 16:9 de 1366x768 à un format Full HD de 1920x1080.

S-agit-il d'une mise à jour des scripts de récupération sur le site de istartedsomething.com?

Je pense que oui. Avec mon script journalier qui tourne depuis plusieurs semaines, j'obtenais des images en Full HD 1920x1080 depuis le site de bing.com. Comme quoi. ;-)

ehamon@elnina:~/Téléchargements/bing-wallpaper »
$ ls -1 -R 20?? | grep ".jpg$" | tail -20
2017-12-11--Gnomes_FR-FR13899110865_1366x768.jpg
2017-12-12--Freudenberg_FR-FR11714819408_1366x768.jpg
2017-12-13--MonkeySoak_FR-FR9655680148_1366x768.jpg
2017-12-14--SeychellesCCSS_FR-FR10430664838_1366x768.jpg
2017-12-15--TamarackCones_FR-FR12178466392_1366x768.jpg
2017-12-16--MGRBerlin_FR-FR6734108494_1366x768.jpg
2017-12-17--TuileriesGardenWheel_FR-FR11916079727_1366x768.jpg
2017-12-18--ReindeerLichen_FR-FR9289253828_1366x768.jpg
2017-12-19--TadamiTrain_FR-FR12959954742_1366x768.jpg
2017-12-20--SolsticeSquirrel_FR-FR6551849968_1366x768.jpg
2017-12-21--RosehipRobin_FR-FR10765383343_1920x1080.jpg
2017-12-22--SFSantaCon_FR-FR11072721713_1920x1080.jpg
2017-12-23--DecoratedStreetAlsace_FR-FR11876872457_1920x1080.jpg
2017-12-24--LaplandAurora_FR-FR12070884927_1920x1080.jpg
2017-12-25--GlisGlis_FR-FR11460364843_1920x1080.jpg
2017-12-26--CPNYSnow_FR-FR14243356452_1920x1080.jpg
2017-12-27--HawaiiGST_FR-FR13793614204_1920x1080.jpg
2017-12-28--PineZion_FR-FR12909890750_1920x1080.jpg
2017-12-29--UKThamesBarrier_FR-FR8901255344_1920x1080.jpg
2017-12-30--NordketteNYE_FR-FR12870487032_1920x1080.jpg

Enjoy.


Related Posts


Published

Category

computer

Tags

Contact