Script bash de récupération d'info sur page Web
Yoannjap
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
ellana29460 Messages postés 707 Date d'inscription Statut Membre Dernière intervention -
ellana29460 Messages postés 707 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je ne m'y connais résolument pas du tout en langage de programmation de script. J'ai infiniment besoin de votre aide pour une tâche répétitive et quotidienne que j'exécute pour enrichir les mon deck partagé de flashcards d'Anki(disponible ici : https://ankiweb.net/shared/info/2428949188 logiciel d'apprentissage libre.
Voici un URL-de-Flickr d'exemple, en vert : https://www.flickr.com/photos/calamity_photography/4696806650
Je souhaite qu'un nouveau script exécute la chose suivante lorsque je l'exécute par le biais de « commande-du-script + URL-de-Flickr-choisie » : qu'il m'affiche sur le terminal, sous format texte, les informations suivantes :
- 1. le titre de l'image (194/365 - Seven Deadly Sins - Lust. dans l'exemple) ;
- 2. l'URL de l'artiste/photographe (https://www.flickr.com/photos/calamity_photography/ dans l'exemple) ;
- 3. le nom de l'artiste/photographe (Courtney Carmody dans l'exemple) ;
- 4. l'année de prise de vue de la photo (2010 dans l'exemple) ;
- 5. l'URL de la licence Creative Commons (https://creativecommons.org/licenses/by-sa/2.0/deed.fr dans l'exemple) ;
- 6. l'intitulé correspondant cette même licence Creative Common (CC BY-SA 2.0 dans l'exemple).
Et le must-ultime est que le terminal me les affiche sous ce format, que je puisse copier le bloc de texte directement sur l'éditeur Anki de ma flashcard :
Ce que le terminal m'afficherait, donc, dans le cas de l'exemple, une fois la commande+URL entrée :
Merci à qui pourra m'apporter son aide (assez immense, vu le temps que je perds chaque jour, dans cette opération faite jusqu'à présent "à la main", et répétée depuis le début des milliers de fois). Un grand merci d'avance !
Je ne m'y connais résolument pas du tout en langage de programmation de script. J'ai infiniment besoin de votre aide pour une tâche répétitive et quotidienne que j'exécute pour enrichir les mon deck partagé de flashcards d'Anki(disponible ici : https://ankiweb.net/shared/info/2428949188 logiciel d'apprentissage libre.
Voici un URL-de-Flickr d'exemple, en vert : https://www.flickr.com/photos/calamity_photography/4696806650
Je souhaite qu'un nouveau script exécute la chose suivante lorsque je l'exécute par le biais de « commande-du-script + URL-de-Flickr-choisie » : qu'il m'affiche sur le terminal, sous format texte, les informations suivantes :
- 1. le titre de l'image (194/365 - Seven Deadly Sins - Lust. dans l'exemple) ;
- 2. l'URL de l'artiste/photographe (https://www.flickr.com/photos/calamity_photography/ dans l'exemple) ;
- 3. le nom de l'artiste/photographe (Courtney Carmody dans l'exemple) ;
- 4. l'année de prise de vue de la photo (2010 dans l'exemple) ;
- 5. l'URL de la licence Creative Commons (https://creativecommons.org/licenses/by-sa/2.0/deed.fr dans l'exemple) ;
- 6. l'intitulé correspondant cette même licence Creative Common (CC BY-SA 2.0 dans l'exemple).
Et le must-ultime est que le terminal me les affiche sous ce format, que je puisse copier le bloc de texte directement sur l'éditeur Anki de ma flashcard :
<a href="URL-de-Flickr-choisi"><i>le titre de l'image</i></a>, by <a href="l'URL de l'artiste/photographe">le nom de l'artiste/photographe</a>, l'année de prise de vue de la photo, licensed under <a href="l'URL de la licence Creative Commons">l'intitulé correspondant cette même licence Creative Common</a>
Ce que le terminal m'afficherait, donc, dans le cas de l'exemple, une fois la commande+URL entrée :
<a href="https://www.flickr.com/photos/calamity_photography/4696806650"><i>194/365 - Seven Deadly Sins - Lust.</i></a>, by <a href="https://www.flickr.com/photos/calamity_photography/">Courtney Carmody</a>, 2010, licensed under <a href="https://creativecommons.org/licenses/by-sa/2.0/deed.fr">CC BY-SA 2.0</a>
Merci à qui pourra m'apporter son aide (assez immense, vu le temps que je perds chaque jour, dans cette opération faite jusqu'à présent "à la main", et répétée depuis le début des milliers de fois). Un grand merci d'avance !
A voir également:
- Script bash de récupération d'info sur page Web
- Comment supprimer une page sur word - Guide
- Web office - Guide
- Crystal disk info - Télécharger - Informations & Diagnostic
- Info pc - Guide
- Script vidéo youtube - Guide
3 réponses
je bosse dessus depuis déja 1h30, mais je ne lache pas le morceau. ca va m'occuper pendant mes vacances et me fera une bonne révision pour mes cours de script linux.
Salut,
voila un début de script à améliorer :
voila un début de script à améliorer :
#!/bin/bash page=$1 echo "[DEBUG] Telechargement de la page..." html=$(wget -O - $page 2>/dev/null) echo "[DEBUG] Recherche des infos..." photo_init=$(grep "Y.photo.init" <<< "$html") OLD_IFS=$IFS IFS='{' read -a array <<< "$photo_init" IFS=$OLD_IFS title=$(sed "s/.*\"title\":\"\([^\"]*\).*/\1/" <<< ${array[1]} ) path=$(sed "s/.*\"url\":\"\([^\"]*\).*/\1/" <<< ${array[1]} ) galerie=$(sed "s/\(\\/.*\)\\/.*\\//\1/" <<< $path) owner=$(sed "s/.*\"ownername\":\"\([^\"]*\).*/\1/" <<< ${array[1]} ) date=$(sed "s/.*\"date_taken\":\"\([^\"]*\).*/\1/" <<< ${array[1]} ) year=$(sed "s/\([0-9]*\).*/\1/" <<< $date ) echo "Titre : $title" echo "Auteur : $owner" echo "Galerie : $galerie" echo "Date : $date" echo "Année : $year"
je viens de finir le script, mais je ne peux pas aficher le nom de la license creative commons. je l'ai remplacé par "license cretive commons"
je l'ai testé à l'instant, il fonctionne bien
#!/bin/bash if [[ $1 != "" ]]; then if [[ $1 != "*flickr.com/*" ]]; then cd $HOME page=$1 mkdir tmp 2>/dev/null rm tmp/* 2>/dev/null echo "récupération de la page web ..." wget -P tmp $page -q cd tmp echo "[OK]" echo "extraction du titre ..." titre=`grep -e '<title>' pge | cut -d '>' -f 2 | cut -d '|' -f 1` #ok #methode alternative : titre=`grep -e '<meta name="title"' pge | cut -d '"' -f 8` echo "[OK]" echo "extraction des informations de l'auteur ..." owner=`echo $page | cut -d '/' -f 1,2,3,4,5 | tr ' ' '/'` #ok ownername=`grep -A1 -e 'photoAttributionNameClick' 4696806650 | grep -v '=' | cut -d $'\t' -f 10` #ok echo "[OK]" echo "extraction de la date de prise de vue ..." annee=`grep -e "Photo prise le" pge | cut -d '>' -f 2 | cut -d '<' -f 1 | cut -d ' ' -f 3` #ok echo "[OK]" echo "extraction des informations de copyright ..." license=`grep -n -e 'Certains droits réservés' pge | grep -n 'Certains droits réservés' | grep '1:' | cut -d '"' -f 2` #ok licensename=`license creative commons` echo "[OK]" echo "" echo "" echo "<a href=\"$1\"><i>$titre</i></a>, by <a href=\"$owner\">$ownername</a>, $annee, licensed under <a href=\"$licence\">$licencename</a>" rm * cd .. rmdir tmp fi fi exit
je l'ai testé à l'instant, il fonctionne bien