Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/03/2019, à 09:12

kuroxx

Télécharger des GIFs avec WGET : site protégé ?

Bonjour à tous,

Je souhaite télécharger les images GIF de cette page mais je n'y arrive pas:rolleyes:
J'aimerais utiliser Wget ou Httrack mais j'ai l'impression que le site est protégé.
Peut-être que quelqu'un de plus calé que moi pourrez m'aider à y voir plus clair smile
Merci pour votre aide.

Voici la commande que j'ai essayé sans succès :

wget -nd -H -p -A gif -e robots=off --user-agent=Firefox https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/ 

Hors ligne

#2 Le 17/03/2019, à 17:07

LeoMajor

Re : Télécharger des GIFs avec WGET : site protégé ?

bonjour,
ce n'est pas conseillé cette méthode (pas ciblée)

en statique, tu as

lynx  -dump -image_links -nonumbers -listonly https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/ | egrep '\.(gif|png|jpg|jpeg|bmp)$'

https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/buhin/Curr_pred_kensaku.gif
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/buhin/curr_pred_okinawa_k.gif
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/s-kani.gif

en dynamique,
les templates des prévisions sont en fonction des dates. D'alilleurs, ton lien ne fonctionne plus car cela renvoie à une prévision de hier, qui n'existe plus.

https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/

si tu regardes bien, comment les prévisions sont mises en boîte.
7 cartes : Okinawa[1-7]
1 journée de prévision météo:  commence à 0 et finit à 23 (heures); pas de minutes ; fuseau horaire japonais
x nombres de jours de prévision; inférieurs à 3 semaines

donc au pire 3 boucles, ( utiliser un sleep 1s par ex, pour temporiser, si tu veux tout récupérer )

par exemple,
pour "Sud d'Okinawa Island" ou 沖縄島南部流況概要 ou okinawa3
avec la journée de demain (20190318)
avec toutes le prévisions ( 0:00 à 23:00)

unset res; declare -A res; for ((h=0;h<=23;h++)); do printf -v hour "%02d" "$h"; read -d"\n" lieu url < <(lynx  -dump -image_links -nonumbers "https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_20190318${hour}.htm" | awk 'NR==1{print};/^https.*Okinawa[1-7].*\.gif/{print}'); res["$url"]="$lieu" ; done
for item in "${!res[@]}"; do echo "$item:${res[$item]}"; done

https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031813.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031821.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031816.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031822.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031818.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031803.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031810.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031812.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031815.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031823.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031808.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031806.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031811.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031820.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031809.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031807.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031805.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031802.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031800.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031814.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031817.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031819.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031804.gif:沖縄島南部流況概要 
https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_2019031801.gif:沖縄島南部流況概要 

télécharger

for item in "${!res[@]}"; do echo "$item:${res[$item]}"; wget "$item"; done

Hors ligne

#3 Le 21/03/2019, à 02:56

kuroxx

Re : Télécharger des GIFs avec WGET : site protégé ?

Bonjour et merci LeoMajor, ça m'aide bcp. J'ai bien compris comment télécharger en dynamique une image par heure sur 1 journée. Par contre tu dis qu'il est possible de tout récupérer avec 3 boucles mais je ne sais pas comment faire. Pourrais-tu me montrer stp ? (sans vouloir faire de la lèche je trouve ça fantastique ce genre de manip, moi qui suis une buse dans ce domaine). Ça me permettra de programment mes navigations plus facilement dans les eaux nippones smile

P.s. :  je viens d'essayer de télécharger des gifs sur la zône de Kyuushuu mais ça ne fonctionne pas, je ne comprends pas où ça bloque :s voici ce que j'ai rentré et l'erreur renvoyée :

unset res; declare -A res; for ((h=0;h<=23;h++)); do printf -v hour "%02d" "$h"; read -d"\n" lieu url < <(lynx  -dump -image_links -nonumbers "https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_20190321${hour}.htm" | awk 'NR==1{print};/^https.*Kyuushuu[1-7].*\.gif/{print}'); res["$url"]="$lieu" ; done
bash: res["$url"]: mauvais indice de tableau
unset res; declare -A res; for ((h=0;h<=23;h++)); do printf -v hour "%02d" "$h"; read -d"\n" lieu url < <(lynx  -dump -image_links -nonumbers "https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_20190321${hour}.htm" | awk 'NR==1{print};/^https.*TaneYaku[1-7].*\.gif/{print}'); res["$url"]="$lieu" ; done
bash: res["$url"]: mauvais indice de tableau

Dernière modification par kuroxx (Le 21/03/2019, à 03:38)

Hors ligne

#4 Le 22/03/2019, à 01:06

LeoMajor

Re : Télécharger des GIFs avec WGET : site protégé ?

par exemple,
~/scripts/kaiho.bash

#!/bin/bash
#jmax=1 (aujourdhui.1); jmax=2 (demain.2); jmax=3 (apres-demain.3); jmax=21 (limite.21)

_init() {

test -f /tmp/kaiho.syntax && return 0

#okinawa
unset pre; declare -A pre
while read -r syntax place
    do test -n "$syntax" &&  pre["$syntax"]="$place" ; done < <(lynx -dump -listonly "https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map" \
 | awk 'BEGIN { FPAT="https.*htm" }; /USEMAP/,/^$/ {if($1){match($1,/^(https.*\/(.*)_)JustTime.htm$/,p);print p[1],p[2]}}')

#Kyuushuu
while read -r syntax place
    do test -n "$syntax" &&  pre["$syntax"]="$place" ; done < <(lynx -dump -listonly "https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/index.htm" \
 | awk 'BEGIN { FPAT="https.*htm" }; /USEMAP/,/^$/ {if($1){match($1,/^(https.*\/(.*)_)JustTime.htm$/,p);print p[1],p[2]}}')

for pr in "${!pre[@]}"; do echo "${pre[$pr]},$pr"; done | sort -V > /tmp/kaiho.syntax 

exit 0
}

_auto_kaiho() {
local tmp
tmp=$(awk -F, '{print $1}' /tmp/kaiho.syntax)
complete -W "$tmp"  /home/toto/scripts/kaiho.bash
}


test ! -f /tmp/kaiho.syntax  &&  _init

if [[ "$1" =~ [0-2]*[0-9] ]] && [ "$1" -le 21 -a "$1" -ne 0 ]; then jmax="$1"
else echo -e "arg \$1 [1-21]\n1 aujourd'hui\n2 demain\n3 apres-demain ...\n21 limite\n"; awk -F, 'BEGIN{print "arg $2" };{print $1}' /tmp/kaiho.syntax | xargs; exit 1
fi

if [ -n "$2" ]; then tg="$2"; read  lieu url  < <(awk -v tgt="$tg" -F, '{if(tolower($1)~tolower(tgt)) {print $1,$2; nextfile}}' /tmp/kaiho.syntax); else exit; fi

#echo "$lieu:$url" 

declare -A res
dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d now)  # heure france
#dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d "8 hours")  # simule heure japon
jour=0

telecharger=0

while [ "$jour" -lt "$jmax" ]

    do ((jour++)); for ((h=0;h<=23;h++))

        #do for carte in {1..7}
            do  printf -v heure "%02d" $h
            #lieu="okinawa$carte"
	    #meteo="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa${carte}_${dat}${heure}.gif"
            hdate="$dat$heure"
	    meteo="$url${hdate}.gif"
            res["${hdate},${lieu}"]=$meteo

            if [ "$telecharger" -eq 1 ]; then
                mkdir -p "/tmp/${lieu}/${dat}"
		curl -s -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" -o "/tmp/${lieu}/${dat}/${lieu}_${hdate}.gif" "$meteo"; ((cwget++))

                if [ "$cwget" -eq 10 ]; then sleep 1s; echo "attente 1s"; cwget=0; fi
            fi

            done
        #done

     dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d "${jour} days")
     done

for item in "${!res[@]}"; do echo "${res[$item]}"; done | sort -V

pour initialiser

/home/toto/scripts/kaho.bash
_auto_kaiho() {
local tmp
tmp=$(awk -F, '{print $1}' /tmp/kaiho.syntax)
complete -W "$tmp"  /home/toto/scripts/kaiho.bash
}
_auto_kaiho

autocomplétion un peu bâclée

/home/toto/scripts/kaiho.bash 
arg $1 [1-21]
1 aujourd'hui
2 demain
3 apres-demain ...
21 limite

arg $2 Amami KagosimawanN KagosimawanS Koshiki Okinawa1 Okinawa2 Okinawa3 Okinawa4 Okinawa5 Okinawa6 Okinawa7 SimabaraN SimabaraS TaneYaku YatusiroN YatusiroS
 /home/toto/scripts/kaiho.bash 
Amami         KagosimawanS  Okinawa1      Okinawa3      Okinawa5      Okinawa7      SimabaraS     YatusiroN     
KagosimawanN  Koshiki       Okinawa2      Okinawa4      Okinawa6      SimabaraN     TaneYaku      YatusiroS    

exemple; les prévisions se font de aujourd'hui à [1-21] jours

 /home/toto/scripts/kaiho.bash  3 TaneYaku
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032200.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032201.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032202.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032203.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032204.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032205.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032206.gif
....
..
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032422.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_2019032423.gif

pour télécharger automatiquement, en profitant du diaporama, installer feh

feh -ZF -x -k -R 3600 -D 0.5 -f /tmp/japan.txt

/tmp/japan.txt correspond à une liste d'urls comme ci-dessus

pour ajouter des cartes, il faut les cartes "résumé vue d'ensemble " type

https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/index.htm

Hors ligne

#5 Le 22/03/2019, à 10:06

kuroxx

Re : Télécharger des GIFs avec WGET : site protégé ?

j'ai bien créé le script en le modifiant pour l’exécuter sur mon système, remplacé "toto" par "dam" et je l'ai ensuite chmodé  (cf ci-dessous).

#!/bin/bash
#jmax=1 (aujourdhui.1); jmax=2 (demain.2); jmax=3 (apres-demain.3); jmax=21 (limite.21)

_init() {

test -f /tmp/kaiho.syntax && return 0

#okinawa
unset pre; declare -A pre
while read -r syntax place
    do test -n "$syntax" &&  pre["$syntax"]="$place" ; done < <(lynx -dump -listonly "https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map" \
 | awk 'BEGIN { FPAT="https.*htm" }; /USEMAP/,/^$/ {if($1){match($1,/^(https.*\/(.*)_)JustTime.htm$/,p);print p[1],p[2]}}')

#Kyuushuu
while read -r syntax place
    do test -n "$syntax" &&  pre["$syntax"]="$place" ; done < <(lynx -dump -listonly "https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/index.htm" \
 | awk 'BEGIN { FPAT="https.*htm" }; /USEMAP/,/^$/ {if($1){match($1,/^(https.*\/(.*)_)JustTime.htm$/,p);print p[1],p[2]}}')

for pr in "${!pre[@]}"; do echo "${pre[$pr]},$pr"; done | sort -V > /tmp/kaiho.syntax 

exit 0
}

_auto_kaiho() {
local tmp
tmp=$(awk -F, '{print $1}' /tmp/kaiho.syntax)
complete -W "$tmp"  /home/toto/scripts/kaiho.bash
}


test ! -f /tmp/kaiho.syntax  &&  _init

if [[ "$1" =~ [0-2]*[0-9] ]] && [ "$1" -le 21 -a "$1" -ne 0 ]; then jmax="$1"
else echo -e "arg \$1 [1-21]\n1 aujourd'hui\n2 demain\n3 apres-demain ...\n21 limite\n"; awk -F, 'BEGIN{print "arg $2" };{print $1}' /tmp/kaiho.syntax | xargs; exit 1
fi

if [ -n "$2" ]; then tg="$2"; read  lieu url  < <(awk -v tgt="$tg" -F, '{if(tolower($1)~tolower(tgt)) {print $1,$2; nextfile}}' /tmp/kaiho.syntax); else exit; fi

#echo "$lieu:$url" 

declare -A res
dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d now)  # heure france
#dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d "8 hours")  # simule heure japon
jour=0

telecharger=0

while [ "$jour" -lt "$jmax" ]

    do ((jour++)); for ((h=0;h<=23;h++))

        #do for carte in {1..7}
            do  printf -v heure "%02d" $h
            #lieu="okinawa$carte"
	    #meteo="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa${carte}_${dat}${heure}.gif"
            hdate="$dat$heure"
	    meteo="$url${hdate}.gif"
            res["${hdate},${lieu}"]=$meteo

            if [ "$telecharger" -eq 1 ]; then
                mkdir -p "/tmp/${lieu}/${dat}"
		curl -s -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" -o "/tmp/${lieu}/${dat}/${lieu}_${hdate}.gif" "$meteo"; ((cwget++))

                if [ "$cwget" -eq 10 ]; then sleep 1s; echo "attente 1s"; cwget=0; fi
            fi

            done
        #done

     dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d "${jour} days")
     done

for item in "${!res[@]}"; do echo "${res[$item]}"; done | sort -V

je sèche ensuite quand tu abordes l'initialisation et le complètement des arguments (arg $2). Où dois-je les entrer stp ?

Hors ligne

#6 Le 23/03/2019, à 15:11

LeoMajor

Re : Télécharger des GIFs avec WGET : site protégé ?

salut,
~/scripts/completion_kaiho.bash

_auto_kaiho() {
local tmp
tmp=$(awk -F, '{print $1}' /tmp/kaiho.syntax)
complete -W "$tmp"  kaiho.bash
}

_auto_kaiho

~/.bashrc   (tout à la fin du fichier, tu ajoutes)

if [ -f /tmp/kaiho.syntax ]; then  . ~/scripts/completion_kaiho.bash; fi

pour initialiser,

cd ~/scripts
./kaiho.bash 
# donc sans argument, cela va créer /tmp/kaiho.syntax, si il n'existe pas
bash
#pour relancer une instance ou fermer/démarrer une autre console
 ./kaiho.bash 2 [appuyez sur toucheTAB]++
Amami         KagosimawanS  Okinawa1      Okinawa3      Okinawa5      Okinawa7      SimabaraS     YatusiroN     
KagosimawanN  Koshiki       Okinawa2      Okinawa4      Okinawa6      SimabaraN     TaneYaku      YatusiroS

./kaiho.bash 2 Koshiki > /tmp/japan.txt
#aujourd'hui+demain koshiri

feh -ZF -x -k -R 3600 -D 0.5 -f /tmp/japan.txt

je te conseille de mettre pour éviter les "not found"

#dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d now)  # heure locale . france  
dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d "8 hours")  # simule heure japon  (~ligne 30)

Hors ligne

#7 Le 24/03/2019, à 03:54

kuroxx

Re : Télécharger des GIFs avec WGET : site protégé ?

Bonjour,
quand je tabule les régions n'apparaissent pas.
Le fichier /tmp/kaiho.syntax apparait bien.

Voici les 2 scripts que j'ai créé :

~/scripts/kaisho.bash

#!/bin/bash
#jmax=1 (aujourdhui.1); jmax=2 (demain.2); jmax=3 (apres-demain.3); jmax=21 (limite.21)

_init() {

test -f /tmp/kaiho.syntax && return 0

#okinawa
unset pre; declare -A pre
while read -r syntax place
    do test -n "$syntax" &&  pre["$syntax"]="$place" ; done < <(lynx -dump -listonly "https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map" \
 | awk 'BEGIN { FPAT="https.*htm" }; /USEMAP/,/^$/ {if($1){match($1,/^(https.*\/(.*)_)JustTime.htm$/,p);print p[1],p[2]}}')

#Kyuushuu
while read -r syntax place
    do test -n "$syntax" &&  pre["$syntax"]="$place" ; done < <(lynx -dump -listonly "https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/index.htm" \
 | awk 'BEGIN { FPAT="https.*htm" }; /USEMAP/,/^$/ {if($1){match($1,/^(https.*\/(.*)_)JustTime.htm$/,p);print p[1],p[2]}}')

for pr in "${!pre[@]}"; do echo "${pre[$pr]},$pr"; done | sort -V > /tmp/kaiho.syntax 

exit 0
}

_auto_kaiho() {
local tmp
tmp=$(awk -F, '{print $1}' /tmp/kaiho.syntax)
complete -W "$tmp"  /home/dam/scripts/kaiho.bash
}


test ! -f /tmp/kaiho.syntax  &&  _init

if [[ "$1" =~ [0-2]*[0-9] ]] && [ "$1" -le 21 -a "$1" -ne 0 ]; then jmax="$1"
else echo -e "arg \$1 [1-21]\n1 aujourd'hui\n2 demain\n3 apres-demain ...\n21 limite\n"; awk -F, 'BEGIN{print "arg $2" };{print $1}' /tmp/kaiho.syntax | xargs; exit 1
fi

if [ -n "$2" ]; then tg="$2"; read  lieu url  < <(awk -v tgt="$tg" -F, '{if(tolower($1)~tolower(tgt)) {print $1,$2; nextfile}}' /tmp/kaiho.syntax); else exit; fi

#echo "$lieu:$url" 

declare -A res
dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d now)  # heure france
#dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d "8 hours")  # simule heure japon
jour=0

telecharger=0

while [ "$jour" -lt "$jmax" ]

    do ((jour++)); for ((h=0;h<=23;h++))

        #do for carte in {1..7}
            do  printf -v heure "%02d" $h
            #lieu="okinawa$carte"
	    #meteo="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa${carte}_${dat}${heure}.gif"
            hdate="$dat$heure"
	    meteo="$url${hdate}.gif"
            res["${hdate},${lieu}"]=$meteo

            if [ "$telecharger" -eq 1 ]; then
                mkdir -p "/tmp/${lieu}/${dat}"
		curl -s -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" -o "/tmp/${lieu}/${dat}/${lieu}_${hdate}.gif" "$meteo"; ((cwget++))

                if [ "$cwget" -eq 10 ]; then sleep 1s; echo "attente 1s"; cwget=0; fi
            fi

            done
        #done

     dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d "${jour} days")
     done

for item in "${!res[@]}"; do echo "${res[$item]}"; done | sort -V

~/scripts/completion_kaiho.bash

_auto_kaiho() {
local tmp
tmp=$(awk -F, '{print $1}' /tmp/kaiho.syntax)
complete -W "$tmp"  kaiho.bash
}

_auto_kaiho

quand je lance la commande

./kaiho.bash 2 Koshiki > /tmp/japan.txt

voici les lignes qui apparaissent
2019032400.gif
2019032401.gif
2019032402.gif
2019032403.gif
2019032404.gif
2019032405.gif
2019032406.gif
2019032407.gif
2019032408.gif
2019032409.gif
2019032410.gif
2019032411.gif
2019032412.gif
2019032413.gif
2019032414.gif
2019032415.gif
2019032416.gif
2019032417.gif
2019032418.gif
2019032419.gif
2019032420.gif
2019032421.gif
2019032422.gif
2019032423.gif
2019032500.gif
2019032501.gif
2019032502.gif
2019032503.gif
2019032504.gif
2019032505.gif
2019032506.gif
2019032507.gif
2019032508.gif
2019032509.gif
2019032510.gif
2019032511.gif
2019032512.gif
2019032513.gif
2019032514.gif
2019032515.gif
2019032516.gif
2019032517.gif
2019032518.gif
2019032519.gif
2019032520.gif
2019032521.gif
2019032522.gif
2019032523.gif

Hors ligne

#8 Le 24/03/2019, à 06:57

kuroxx

Re : Télécharger des GIFs avec WGET : site protégé ?

Au fait, je suis au japon donc normalement pas de pb de décalage horaire. wink

Hors ligne

#9 Le 24/03/2019, à 11:35

LeoMajor

Re : Télécharger des GIFs avec WGET : site protégé ?

salut,

a/completion

..@s:~/scripts$ rm /tmp/kaiho.syntax 
..@s:~/scripts$ ./kaiho.bash
..@s:~/scripts$ bash 

..@s:~$ cd ~/scripts
..@s:~/scripts$ ./kaiho.bash [touche tab++]
Amami         KagosimawanS  Okinawa1      Okinawa3      Okinawa5      Okinawa7      SimabaraS     YatusiroN     
KagosimawanN  Koshiki       Okinawa2      Okinawa4      Okinawa6      SimabaraN     TaneYaku      YatusiroS  

sinon tu copies en fonction de PATH (cela devrait être facultatif pour un script brouillon )

..~/scripts$ printenv PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
..~/scripts$ sudo cp kaiho.bash /usr/local/bin/  # ou ailleurs, à toi de voir
..~/scripts$ sudo chmod +x /usr/local/bin/kaiho.bash

dans le ~/.bashrc, tu as

if [ -f /tmp/kaiho.syntax ]; then  . ~/scripts/completion_kaiho.bash; fi
ou
if [ -f /tmp/kaiho.syntax ]; then source ~/scripts/completion_kaiho.bash; fi

b/ date () pour un français

env LANG=C LC_ALL=C TZ='Asia/Tokyo' date

c/ expansion des lieux $*
puisque tu es au japon, tu supprimeras TZ='Asia/Tokyo', dans le script

cat kaiho.bash 
#!/bin/bash
#jmax=1 (aujourdhui.1); jmax=2 (demain.2); jmax=3 (apres-demain.3); jmax=21 (limite.21)


_init() {

test -f /tmp/kaiho.syntax && return 0

#okinawa
unset pre; declare -A pre
while read -r syntax place
    do test -n "$syntax" &&  pre["$syntax"]="$place" ; done < <(lynx -dump -listonly "https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map" \
 | awk 'BEGIN { FPAT="https.*htm" }; /USEMAP/,/^$/ {if($1){match($1,/^(https.*\/(.*)_)JustTime.htm$/,p);print p[1],p[2]}}')

#Kyuushuu
while read -r syntax place
    do test -n "$syntax" &&  pre["$syntax"]="$place" ; done < <(lynx -dump -listonly "https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/index.htm" \
 | awk 'BEGIN { FPAT="https.*htm" }; /USEMAP/,/^$/ {if($1){match($1,/^(https.*\/(.*)_)JustTime.htm$/,p);print p[1],p[2]}}')

for pr in "${!pre[@]}"; do echo "${pre[$pr]},$pr"; done | sort -V > /tmp/kaiho.syntax

exit 0
}

test ! -f /tmp/kaiho.syntax  &&  _init

if [ "$#" -eq 1 ]; then echo "manque des arguments"; exit 1; fi

if [[ "$1" =~ [0-2]*[0-9] ]] && [ "$1" -le 21 -a "$1" -ne 0 ]; then jmax="$1"
else echo -e "arg \$1 [1-21]\n1 aujourd'hui\n2 demain\n3 apres-demain ...\n21 limite\n"; awk -F, 'BEGIN{print "args $*" };{print $1}' /tmp/kaiho.syntax | xargs; exit 1
fi

# arguments "lieux" 
for(( i=2; i<=$#; i++ ));
do
if [ -n "${!i}" ]; then tg="${!i}"; existe=$(awk -v tgt="$tg" -F, '{if(tolower($1)~tolower(tgt)) {print 1; nextfile}}' /tmp/kaiho.syntax)
else echo "arg ${!i} n'existe pas"; exit 1
fi
if [ -z "$existe" ]; then  echo "arg ${!i} invalide"; exit 1; fi
done


declare -A res
jour=0

#https://crashcourse.housegordon.org/gnu-date-timezones.html
#dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d now)  # heure france ou locale
dat=$(env LANG=C LC_ALL=C TZ='Asia/Tokyo' date +%Y%m%d  -d now ) # heure exacte japon

telecharger=0

while [ "$jour" -lt "$jmax" ]

    do ((jour++)); for ((h=0;h<=23;h++))

        do for(( i=2; i<=$#; i++ ))


            do  printf -v heure "%02d" $h
            hdate="$dat$heure"

        tg="${!i}"; read lieu url < <(awk -v tgt="$tg" -F, '{if(tolower($1)~tolower(tgt)) {print $1,$2; nextfile}}' /tmp/kaiho.syntax)
        meteo="$url${hdate}.gif"

            res["${hdate},${lieu}"]="$meteo"

            if [ "$telecharger" -eq 1 ]; then
                mkdir -p "/tmp/${lieu}/${dat}"
       		 curl -s -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" -o "/tmp/${lieu}/${dat}/${lieu}_${hdate}.gif" "$meteo"
		((cwget++))
                if [ "$cwget" -eq 10 ]; then sleep 1s; echo "attente 1s"; cwget=0; fi
            fi

            done
        done

     dat=$(env LANG=C LC_ALL=C TZ='Asia/Tokyo' date +%Y%m%d -d "${jour} days")
     done


for item in "${!res[@]}"; do echo "$item,${res[$item]}"; done 

je ne sais pas si c'est mieux car cela dépend de l'usage, et dans $* lieux, il y a plus de tri. à toi de voir
tu peux ajouter autant de lieux que tu veux

kaiho.bash 3 Okinawa3 SimabaraS TaneYaku | sort -t, -k2V -k1n
kaiho.bash 10 Amami KagosimawanN KagosimawanS Koshiki Okinawa1 Okinawa2 Okinawa3 Okinawa4 Okinawa5 Okinawa6 Okinawa7 SimabaraN SimabaraS TaneYaku YatusiroN YatusiroS | sort -t, -k2V -k1n

pour feh

kaiho.bash 3 Okinawa3 SimabaraS TaneYaku | sort -t, -k2V -k1n | cut -d, -f3 > /tmp/japan.txt

d/ tu dois pouvoir aussi traîter les kanjis/traduction  directement, type

 lynx -dump https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/index.htm | awk 'BEGIN { FPAT="\[[0-9]+\][^\x00-\x7F]+"}; {for(i=1;i<=NF;i++){sub(/\[[0-9]+\]/,"",$i); print $i}}' 2>/dev/null
島原湾北部
八代海北部
鹿児島湾北部
鹿児島県西方沿岸
奄美大島付近
島原湾南部
八代海南部
鹿児島湾南部
種子島・屋久島付近

installer  translate-shell

trans -b -s ja -t fr+en "種子島・屋久島付近"
Près de Tanegashima et Yakushima
Near Tanegashima and Yakushima

=> semble correspondre à TaneYaku

Dernière modification par LeoMajor (Le 24/03/2019, à 11:37)

Hors ligne

#10 Le 25/03/2019, à 18:21

LeoMajor

Re : Télécharger des GIFs avec WGET : site protégé ?

bonjour,

je te donne la traduction
avec translate-shell ( sur la 16.04, il le récupérer directement translate-shell option 1 )

aaa=$(awk 'func translate(texte, to){ cmd="/usr/local/bin/trans -b -no-auto -s ja -t "to "    "texte  ; cmd | getline cm; close(cmd); return cm }; func asleep(){ cmd="sleep 1s"; cmd | getline tmp; close(cmd) }; BEGIN { FPAT="\[[0-9]+\][^\x00-\x7F]+|https:.*htm"}; /USEMAP/,/^\[USEMAP\]/ {if($0~/index.htm/)getline; for(i=1;i<=NF;i++){if($i~/https/){match($i,/^(https.*\/(.*)_)JustTime.htm$/,p); c++; ref[c]=p[2] }; if($i~/[^\x00-\x7F]+/){sub(/\[[0-9]+\]/,"",$i); d++; val[d]=$i }}}; END { if(c=d){for(i=1;i<=c;i++){tra[ref[i]]=val[i];  print ref[i]","val[i]","translate(val[i], "en")","translate(val[i], "fr"); asleep()  } } }' 2>/dev/null  < <(lynx -dump https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/index.htm) )

echo "$aaa"

SimabaraN,島原湾北部,Shimabara Bay Northern,Shimabara Bay Northern
YatusiroN,八代海北部,Northern Yatsushiro Sea,Mer du nord de Yatsushiro
KagosimawanN,鹿児島湾北部,Northern Kagoshima Bay,Nord de la baie de Kagoshima
Koshiki,鹿児島県西方沿岸,West coast of Kagoshima prefecture,Côte ouest de la préfecture de Kagoshima
Amami,奄美大島付近,Near Amami Oshima,Près de Amami Oshima
SimabaraS,島原湾南部,Shimabara Bay South,Shimabara Bay South
YatusiroS,八代海南部,Southern Yatsushiro Sea,Mer du sud de Yatsushiro
KagosimawanS,鹿児島湾南部,Kagoshima Bay South,Kagoshima Bay South
TaneYaku,種子島・屋久島付近,Near Tanegashima and Yakushima,Près de Tanegashima et Yakushima

unset hon; declare -A hon; while IFS=$',\n' read  ref ja en fra; do if [ -n "$ref" ]; then hon["${ref},jp"]="$ja"; hon["${ref},eng"]="$en"; hon["${ref},fr"]="$fra"; fi; done <<<"$aaa"

for h in "${!hon[@]}"; do echo "$h,${hon[$h]}"; done | sort -t"," -k1 -k2

Amami,eng,Near Amami Oshima
Amami,fr,Près de Amami Oshima
Amami,jp,奄美大島付近
KagosimawanN,eng,Northern Kagoshima Bay
KagosimawanN,fr,Nord de la baie de Kagoshima
KagosimawanN,jp,鹿児島湾北部
KagosimawanS,eng,Kagoshima Bay South
KagosimawanS,fr,Kagoshima Bay South
KagosimawanS,jp,鹿児島湾南部
Koshiki,eng,West coast of Kagoshima prefecture
Koshiki,fr,Côte ouest de la préfecture de Kagoshima
Koshiki,jp,鹿児島県西方沿岸
SimabaraN,eng,Shimabara Bay Northern
SimabaraN,fr,Shimabara Bay Northern
SimabaraN,jp,島原湾北部
SimabaraS,eng,Shimabara Bay South
SimabaraS,fr,Shimabara Bay South
SimabaraS,jp,島原湾南部
TaneYaku,eng,Near Tanegashima and Yakushima
TaneYaku,fr,Près de Tanegashima et Yakushima
TaneYaku,jp,種子島・屋久島付近
YatusiroN,eng,Northern Yatsushiro Sea
YatusiroN,fr,Mer du nord de Yatsushiro
YatusiroN,jp,八代海北部
YatusiroS,eng,Southern Yatsushiro Sea
YatusiroS,fr,Mer du sud de Yatsushiro
YatusiroS,jp,八代海南部

 bbb=$(awk 'func translate(texte, to){ cmd="/usr/local/bin/trans -b -no-auto -s ja -t "to "    "texte  ; cmd | getline cm; close(cmd); return cm }; func asleep(){ cmd="sleep 1s"; cmd | getline tmp; close(cmd) }; BEGIN { FPAT="\[[0-9]+\][^\x00-\x7F]+|https:.*htm"}; /USEMAP/,/^\[USEMAP\]/ {if($0~/index.htm/)getline; for(i=1;i<=NF;i++){if($i~/https/){match($i,/^(https.*\/(.*)_)JustTime.htm$/,p); c++; ref[c]=p[2] }; if($i~/[^\x00-\x7F]+/){sub(/\[[0-9]+\]/,"",$i); d++; val[d]=$i }}}; END { if(c=d){for(i=1;i<=c;i++){tra[ref[i]]=val[i];  print ref[i]","val[i]","translate(val[i], "en")","translate(val[i], "fr"); asleep()  } } }' 2>/dev/null  < <(lynx -dump https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map) )

echo "$bbb"

Okinawa1,沖縄島群島,Okinawa island archipelago,Archipel de l'île d'Okinawa
Okinawa2,沖縄島北部,Northern Okinawa Island,Nord de l'île d'Okinawa
Okinawa3,沖縄島南部,Southern Okinawa Island,Sud de l'île d'Okinawa
Okinawa4,与那国島,Yonaguni Island,Yonaguni Island
Okinawa5,慶良間列島・粟国島・久米島,Kerama Islands, Yasukuni Island, Kume Island,Îles Kerama, Île Yasukuni, Île Kume
Okinawa6,大東諸島,Daito Islands,Îles Daito
Okinawa7,宮古島・石垣島・西表島,Miyakojima, Ishigakijima, Iriomotejima,Miyakojima, Ishigakijima, Iriomotejima

formatage irrégulier  sur Okinaw5 Okinawa7

mapfile -t arr <<<"$bbb"

for a in "${!arr[@]}"; do 

if [ "$a" -eq 4 ]; then arr[4]="Okinawa5,慶良間列島・粟国島・久米島,Kerama Islands Yasukuni Island Kume Island,Îles Kerama Île Yasukuni Île Kume";  fi 

if [ "$a" -eq 6 ]; then arr[6]="Okinawa7,宮古島・石垣島・西表島,Miyakojima Ishigakijima Iriomotejima,Miyakojima Ishigakijima Iriomotejima"; fi

done

for a in "${!arr[@]}"; do echo "${arr[$a]}"; done

Okinawa1,沖縄島群島,Okinawa island archipelago,Archipel de l'île d'Okinawa
Okinawa2,沖縄島北部,Northern Okinawa Island,Nord de l'île d'Okinawa
Okinawa3,沖縄島南部,Southern Okinawa Island,Sud de l'île d'Okinawa
Okinawa4,与那国島,Yonaguni Island,Yonaguni Island
Okinawa5,慶良間列島・粟国島・久米島,Kerama Islands Yasukuni Island Kume Island,Îles Kerama Île Yasukuni Île Kume
Okinawa6,大東諸島,Daito Islands,Îles Daito
Okinawa7,宮古島・石垣島・西表島,Miyakojima Ishigakijima Iriomotejima,Miyakojima Ishigakijima Iriomotejima

 #sed -nr 's/^(.*),(.*),(.*),(.*)$/\1:\2:\3:\4/p' <<<"$line"

for a in "${!arr[@]}"; do 

line="${arr[$a]}" 

ref=$(sed -nr 's/^(.*),(.*),(.*),(.*)$/\1/p' <<<"$line") 

ja=$(sed -nr 's/^(.*),(.*),(.*),(.*)$/\2/p' <<<"$line") 

en=$(sed -nr 's/^(.*),(.*),(.*),(.*)$/\3/p' <<<"$line") 

fra=$(sed -nr 's/^(.*),(.*),(.*),(.*)$/\4/p' <<<"$line") 

if [  -n "$ref" ]; then hon["${ref},jp"]="$ja"; hon["${ref},eng"]="$en"; hon["${ref},fr"]="$fra"; fi 

done

for h in "${!hon[@]}"; do echo "$h:${hon[$h]}"; done | sort -t, -k1V -k2V

Amami,eng:Near Amami Oshima
Amami,fr:Près de Amami Oshima
Amami,jp:奄美大島付近
KagosimawanN,eng:Northern Kagoshima Bay
KagosimawanN,fr:Nord de la baie de Kagoshima
KagosimawanN,jp:鹿児島湾北部
KagosimawanS,eng:Kagoshima Bay South
KagosimawanS,fr:Kagoshima Bay South
KagosimawanS,jp:鹿児島湾南部
Koshiki,eng:West coast of Kagoshima prefecture
Koshiki,fr:Côte ouest de la préfecture de Kagoshima
Koshiki,jp:鹿児島県西方沿岸
Okinawa1,eng:Okinawa island archipelago
Okinawa1,fr:Archipel de l'île d'Okinawa
Okinawa1,jp:沖縄島群島
Okinawa2,eng:Northern Okinawa Island
Okinawa2,fr:Nord de l'île d'Okinawa
Okinawa2,jp:沖縄島北部
Okinawa3,eng:Southern Okinawa Island
Okinawa3,fr:Sud de l'île d'Okinawa
Okinawa3,jp:沖縄島南部
Okinawa4,eng:Yonaguni Island
Okinawa4,fr:Yonaguni Island
Okinawa4,jp:与那国島
Okinawa5,eng:Kerama Islands Yasukuni Island Kume Island
Okinawa5,fr:Îles Kerama Île Yasukuni Île Kume
Okinawa5,jp:慶良間列島・粟国島・久米島
Okinawa6,eng:Daito Islands
Okinawa6,fr:Îles Daito
Okinawa6,jp:大東諸島
Okinawa7,eng:Miyakojima Ishigakijima Iriomotejima
Okinawa7,fr:Miyakojima Ishigakijima Iriomotejima
Okinawa7,jp:宮古島・石垣島・西表島
SimabaraN,eng:Shimabara Bay Northern
SimabaraN,fr:Shimabara Bay Northern
SimabaraN,jp:島原湾北部
SimabaraS,eng:Shimabara Bay South
SimabaraS,fr:Shimabara Bay South
SimabaraS,jp:島原湾南部
TaneYaku,eng:Near Tanegashima and Yakushima
TaneYaku,fr:Près de Tanegashima et Yakushima
TaneYaku,jp:種子島・屋久島付近
YatusiroN,eng:Northern Yatsushiro Sea
YatusiroN,fr:Mer du nord de Yatsushiro
YatusiroN,jp:八代海北部
YatusiroS,eng:Southern Yatsushiro Sea
YatusiroS,fr:Mer du sud de Yatsushiro
YatusiroS,jp:八代海南部

hon["KagosimawanS,eng"]="Southern Kagoshima Bay"

hon["KagosimawanS,fr"]="Sud de la baie de Kagoshima"

hon["SimabaraN,eng"]="Northern Shimabara Bay"

hon["SimabaraN,fr"]="Nord de la baie de Shimabara"

for h in "${!hon[@]}"; do echo "$h:${hon[$h]}"; done | sort -t, -k1V -k2V

Amami,eng:Near Amami Oshima
Amami,fr:Près de Amami Oshima
Amami,jp:奄美大島付近
KagosimawanN,eng:Northern Kagoshima Bay
KagosimawanN,fr:Nord de la baie de Kagoshima
KagosimawanN,jp:鹿児島湾北部
KagosimawanS,eng:Southern Kagoshima Bay
KagosimawanS,fr:Sud de la baie de Kagoshima
KagosimawanS,jp:鹿児島湾南部
Koshiki,eng:West coast of Kagoshima prefecture
Koshiki,fr:Côte ouest de la préfecture de Kagoshima
Koshiki,jp:鹿児島県西方沿岸
Okinawa1,eng:Okinawa island archipelago
Okinawa1,fr:Archipel de l'île d'Okinawa
Okinawa1,jp:沖縄島群島
Okinawa2,eng:Northern Okinawa Island
Okinawa2,fr:Nord de l'île d'Okinawa
Okinawa2,jp:沖縄島北部
Okinawa3,eng:Southern Okinawa Island
Okinawa3,fr:Sud de l'île d'Okinawa
Okinawa3,jp:沖縄島南部
Okinawa4,eng:Yonaguni Island
Okinawa4,fr:Yonaguni Island
Okinawa4,jp:与那国島
Okinawa5,eng:Kerama Islands Yasukuni Island Kume Island
Okinawa5,fr:Îles Kerama Île Yasukuni Île Kume
Okinawa5,jp:慶良間列島・粟国島・久米島
Okinawa6,eng:Daito Islands
Okinawa6,fr:Îles Daito
Okinawa6,jp:大東諸島
Okinawa7,eng:Miyakojima Ishigakijima Iriomotejima
Okinawa7,fr:Miyakojima Ishigakijima Iriomotejima
Okinawa7,jp:宮古島・石垣島・西表島
SimabaraN,eng:Northern Shimabara Bay
SimabaraN,fr:Nord de la baie de Shimabara
SimabaraN,jp:島原湾北部
SimabaraS,eng:Shimabara Bay South
SimabaraS,fr:Shimabara Bay South
SimabaraS,jp:島原湾南部
TaneYaku,eng:Near Tanegashima and Yakushima
TaneYaku,fr:Près de Tanegashima et Yakushima
TaneYaku,jp:種子島・屋久島付近
YatusiroN,eng:Northern Yatsushiro Sea
YatusiroN,fr:Mer du nord de Yatsushiro
YatusiroN,jp:八代海北部
YatusiroS,eng:Southern Yatsushiro Sea
YatusiroS,fr:Mer du sud de Yatsushiro
YatusiroS,jp:八代海南部

declare -p hon

declare -A hon='([KagosimawanN,fr]="Nord de la baie de Kagoshima" [Amami,eng]="Near Amami Oshima" [Amami,jp]="奄美大島付近" [Okinawa5,jp]="慶良間列島・粟国島・久米島" [Okinawa5,eng]="Kerama Islands Yasukuni Island Kume Island" [Okinawa3,fr]="Sud de l'\''île d'\''Okinawa" [SimabaraN,jp]="島原湾北部" [Okinawa2,eng]="Northern Okinawa Island" [KagosimawanN,eng]="Northern Kagoshima Bay" [Okinawa2,jp]="沖縄島北部" [Okinawa4,jp]="与那国島" [Okinawa6,eng]="Daito Islands" [YatusiroS,eng]="Southern Yatsushiro Sea" [SimabaraN,fr]="Nord de la baie de Shimabara" [Okinawa1,jp]="沖縄島群島" [KagosimawanN,jp]="鹿児島湾北部" [SimabaraS,fr]="Shimabara Bay South" [Amami,fr]="Près de Amami Oshima" [Okinawa5,fr]="Îles Kerama Île Yasukuni Île Kume" [TaneYaku,fr]="Près de Tanegashima et Yakushima" [Okinawa6,jp]="大東諸島" [Okinawa7,jp]="宮古島・石垣島・西表島" [TaneYaku,eng]="Near Tanegashima and Yakushima" [KagosimawanS,jp]="鹿児島湾南部" [YatusiroS,fr]="Mer du sud de Yatsushiro" [Okinawa3,eng]="Southern Okinawa Island" [Okinawa2,fr]="Nord de l'\''île d'\''Okinawa" [Okinawa3,jp]="沖縄島南部" [Koshiki,eng]="West coast of Kagoshima prefecture" [YatusiroN,eng]="Northern Yatsushiro Sea" [Okinawa4,fr]="Yonaguni Island" [SimabaraS,jp]="島原湾南部" [Okinawa1,fr]="Archipel de l'\''île d'\''Okinawa" [Okinawa4,eng]="Yonaguni Island" [Okinawa7,fr]="Miyakojima Ishigakijima Iriomotejima" [Okinawa1,eng]="Okinawa island archipelago" [Okinawa6,fr]="Îles Daito" [Koshiki,jp]="鹿児島県西方沿岸" [YatusiroN,jp]="八代海北部" [Okinawa7,eng]="Miyakojima Ishigakijima Iriomotejima" [TaneYaku,jp]="種子島・屋久島付近" [SimabaraN,eng]="Northern Shimabara Bay" [YatusiroS,jp]="八代海南部" [SimabaraS,eng]="Shimabara Bay South" [KagosimawanS,fr]="Sud de la baie de Kagoshima" [Koshiki,fr]="Côte ouest de la préfecture de Kagoshima" [YatusiroN,fr]="Mer du nord de Yatsushiro" [KagosimawanS,eng]="Southern Kagoshima Bay" )'

Hors ligne

#11 Le 06/04/2019, à 02:31

kuroxx

Re : Télécharger des GIFs avec WGET : site protégé ?

Un grand merci LeoMajor,
Ça fonctionne à merveille. Excuse moi de ne te répondre que maintenant je n'avais plus de pc depuis 10j. Je n'utilise  pas le diaporama car j'ai besoin de télécharger les gifs pour consulter l'horaire qui m'intéresse donc j'utilise un module de FF pour télécharger les gifs à partir des URL enregistrées dans le fichier /tmp/japan.txt.
Je me pose déjà la question concernant les courants de marée plus au Nord (Seto Naikai-la mer intérieure, Ise wan et Tokyo Wan). A ton avis est-il facile de les rajouter au script ? Rien ne presse ce sera pour bien plus tard.
Merci encore wink:):)

Hors ligne

#12 Le 09/04/2019, à 16:07

LeoMajor

Re : Télécharger des GIFs avec WGET : site protégé ?

Seto Naikai-la mer intérieure, Ise wan et Tokyo Wan

tu peux le deviner avec

lynx -source -display_charset=EUC-JP  -image_links "https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_pred.cgi?area=0001&br=notns-win32&year=2019&month=04&day=15&hour=20&btn=%BF%E4%A1%A1%BB%BB" | iconv -f EUC-JP -t UTF8 | awk 'BEGIN {FPAT="\".*\.gif\"|Tokyowan|Isewan|Setonaikai"; base="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/"; };\
/Tokyowan|Isewan|Setonaikai/ { lieu=$1}; /\.gif/ {gsub(/["]/,"",$1); print lieu","base$1}' 2>/dev/null

renvoie

Tokyowan,https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/01_2019041520.gif

idem pour Ise et Seto

...
Isewan,en:Ise bay
Isewan,fr:Baie d'Ise
Isewan,jp:伊勢湾
Isewan,name:Isewan
Isewan,url:https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/02_
...
Setonaikai,en:Seto Inland Sea coast
Setonaikai,fr:Seto côte de la mer intérieure
Setonaikai,jp:瀬戸内海沿岸
Setonaikai,name:Setonaikai
Setonaikai,url:https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_
...
Tokyowan,en:Tokyo Bay
Tokyowan,fr:Baie de Tokyo
Tokyowan,jp:東京湾
Tokyowan,name:Tokyowan
Tokyowan,url:https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/01_

ce qui donne
cat kaiho1.bash

#!/bin/bash

_init_statique() {
unset hon
declare -Ag hon='([KagosimawanN,fr]="Nord de la baie de Kagoshima" [Okinawa5,jp]="慶良間列島・粟国島・久米島" [Okinawa3,fr]="Sud de l'\''île d'\''Okinawa" [Amami,jp]="奄美大島付近" [Okinawa5,en]="Kerama Islands Yasukuni Island Kume Island" [Okinawa1,name]="Okinawa1" [Amami,en]="Near Amami Oshima" [SimabaraN,jp]="島原湾北部" [TaneYaku,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_" [Okinawa2,jp]="沖縄島北部" [SimabaraN,en]="Northern Shimabara Bay" [Okinawa5,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa5_" [Okinawa4,jp]="与那国島" [YatusiroS,name]="YatusiroS" [Amami,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_" [Isewan,fr]="Baie d'\''Ise" [TaneYaku,name]="TaneYaku" [Setonaikai,jp]="瀬戸内海沿岸" [SimabaraN,fr]="Nord de la baie de Shimabara" [Okinawa1,jp]="沖縄島群島" [Okinawa1,en]="Okinawa island archipelago" [KagosimawanN,jp]="鹿児島湾北部" [Setonaikai,name]="Setonaikai" [SimabaraS,fr]="Sud de la baie de Shimabara" [Isewan,en]="Ise bay" [Okinawa4,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa4_" [Tokyowan,en]="Tokyo Bay" [Koshiki,en]="West coast of Kagoshima prefecture" [YatusiroN,en]="Northern Yatsushiro Sea" [SimabaraS,name]="SimabaraS" [Tokyowan,url]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/01_" [Okinawa5,fr]="Îles Kerama Île Yasukuni Île Kume" [Okinawa2,name]="Okinawa2" [Amami,fr]="Près de Amami Oshima" [Koshiki,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Koshiki_" [YatusiroN,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/YatusiroN_" [Okinawa6,jp]="大東諸島" [TaneYaku,fr]="Près de Tanegashima et Yakushima" [Okinawa6,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa6_" [YatusiroS,en]="Southern Yatsushiro Sea" [Okinawa7,jp]="宮古島・石垣島・西表島" [Okinawa7,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa7_" [Okinawa7,en]="Miyakojima Ishigakijima Iriomotejima" [Okinawa2,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa2_" [KagosimawanS,jp]="鹿児島湾南部" [SimabaraN,name]="SimabaraN" [Okinawa5,name]="Okinawa5" [SimabaraS,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/SimabaraS_" [Amami,name]="Amami" [YatusiroS,fr]="Mer du sud de Yatsushiro" [Okinawa3,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_" [Okinawa2,fr]="Nord de l'\''île d'\''Okinawa" [Okinawa6,name]="Okinawa6" [Okinawa3,jp]="沖縄島南部" [Okinawa2,en]="Northern Okinawa Island" [SimabaraN,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/SimabaraN_" [Okinawa4,fr]="Île Yonaguni" [Okinawa3,en]="Southern Okinawa Island" [Okinawa4,en]="Yonaguni Island" [SimabaraS,jp]="島原湾南部" [Okinawa1,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa1_" [SimabaraS,en]="Shimabara Bay South" [Okinawa1,fr]="Archipel de l'\''île d'\''Okinawa" [KagosimawanN,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/KagosimawanN_" [Okinawa3,name]="Okinawa3" [Tokyowan,name]="Tokyowan" [Okinawa7,fr]="Miyakojima Ishigakijima Iriomotejima" [Koshiki,name]="Koshiki" [YatusiroN,name]="YatusiroN" [Isewan,name]="Isewan" [Okinawa6,fr]="Îles Daito" [YatusiroS,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/YatusiroS_" [Setonaikai,en]="Seto Inland Sea coast" [Isewan,jp]="伊勢湾" [KagosimawanN,en]="Northern Kagoshima Bay" [KagosimawanN,name]="KagosimawanN" [Tokyowan,jp]="東京湾" [KagosimawanS,name]="KagosimawanS" [Koshiki,jp]="鹿児島県西方沿岸" [YatusiroN,jp]="八代海北部" [Setonaikai,url]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_" [Isewan,url]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/02_" [TaneYaku,jp]="種子島・屋久島付近" [Okinawa7,name]="Okinawa7" [Okinawa4,name]="Okinawa4" [TaneYaku,en]="Near Tanegashima and Yakushima" [YatusiroS,jp]="八代海南部" [Setonaikai,fr]="Seto côte de la mer intérieure" [KagosimawanS,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/KagosimawanS_" [Okinawa6,en]="Daito Islands" [KagosimawanS,fr]="Sud de la baie de Kagoshima" [Tokyowan,fr]="Baie de Tokyo" [Koshiki,fr]="Côte ouest de la préfecture de Kagoshima" [YatusiroN,fr]="Mer du nord de Yatsushiro" [KagosimawanS,en]="Southern Kagoshima Bay" )'

}

_init_dynamique() {

local tmp
unset hon; declare -Ag hon

#Kyuushuu (9 cartes) +Okinawa (7 cartes)

for parent in  https://www1.kaiho.mlit.go.jp/{KAN10/kaisyo/tidal_c/index.htm,KAN11/choryu/inet/Okinawa_Current_Map}
do echo "init:$parent"

tmp=$(awk 'func translate(texte, to){ cmd="/usr/local/bin/trans -b -no-auto -s ja -t "to "    "texte  ; cmd | getline cm; close(cmd); return cm };\
 func asleep(){ cmd="sleep 1s"; cmd | getline tmp; close(cmd) };\
 BEGIN { FPAT="\[[0-9]+\][^\x00-\x7F]+|https:.*htm"};\
 /USEMAP/,/^\[USEMAP\]/ {if($0~/index.htm/)getline;\
 for(i=1;i<=NF;i++){if($i~/https/){match($i,/^(https.*\/(.*)_)JustTime.htm$/,p); c++; ref[c]=p[2]; url[c]=p[1] };\
 if($i~/[^\x00-\x7F]+/){sub(/\[[0-9]+\]/,"",$i); d++; val[d]=$i }}}; END { if(c=d){for(i=1;i<=c;i++){print ref[i]","val[i]","translate(val[i], "en")","translate(val[i], "fr")","url[i]; asleep()  } } }'\
   < <(lynx -dump "$parent") )

	while IFS=$',\n' read -r ref ja eng fra url
 	do if [ -n "$ref" ]; then hon["${ref},name"]="$ref"; hon["${ref},jp"]="$ja"; hon["${ref},en"]="$eng"; hon["${ref},fr"]="$fra"; hon["${ref},url"]="$url"; fi
 	done <<<"$tmp"

sleep 1s
done


hon["Okinawa5,en"]="Kerama Islands Yasukuni Island Kume Island"; hon["Okinawa5,fr"]="Îles Kerama Île Yasukuni Île Kume"; hon["Okinawa5,url"]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa5_"
hon["Okinawa7,en"]="Miyakojima Ishigakijima Iriomotejima"; hon["Okinawa7,fr"]=${hon["Okinawa7,en"]}; hon["Okinawa7,url"]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa7_"
hon["KagosimawanS,en"]="Southern Kagoshima Bay"; hon["KagosimawanS,fr"]="Sud de la baie de Kagoshima"
hon["SimabaraN,en"]="Northern Shimabara Bay"; hon["SimabaraN,fr"]="Nord de la baie de Shimabara"
hon["SimabaraS,fr"]="Sud de la baie de Shimabara"
hon["Okinawa4,fr"]="Île Yonaguni"

# Tokyowan,Isewan,Setonaikai (3cartes)

echo "init:https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/curr_pred/index.htm"
sleep 1s

tmp=$(awk 'func translate(texte, to){ cmd="/usr/local/bin/trans -b -no-auto -s ja -t "to "    "texte  ; cmd | getline cm; close(cmd); return cm };\
 func asleep(){ cmd="sleep 1s"; cmd | getline tmp; close(cmd) };\
 BEGIN { FPAT="[^\x00-\x7F]+|[A-Za-z]+\.htm" };\
 /Tokyowan|Isewan|Setonaikai/ {if($2){sub(/\.htm/,"",$1);print $1","$2","translate($2, "en")","translate($2, "fr"); asleep() } }' \
 < <(lynx -source  -display_charset=Shift_JIS https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/curr_pred/index.htm  | iconv -f SHIFT-JIS -t UTF8))

while IFS=$',\n' read -r ref ja eng fra url; do if [ -n "$ref" ]; then hon["${ref},name"]="$ref"; hon["${ref},jp"]="$ja"; hon["${ref},en"]="$eng"; hon["${ref},fr"]="$fra"; fi; done <<<"$tmp"

#lynx -source -display_charset=EUC-JP  -image_links "https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_pred.cgi?area=0001&br=notns-win32&year=2019&month=04&day=15&hour=20&btn=%BF%E4%A1%A1%BB%BB" | iconv -f EUC-JP -t UTF8 | awk 'BEGIN {FPAT="\".*\.gif\"|Tokyowan|Isewan|Setonaikai"; base="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/"; };\
# /Tokyowan|Isewan|Setonaikai/ { lieu=$1}; /\.gif/ {gsub(/["]/,"",$1); print lieu","base$1}' 2>/dev/null
#Tokyowan,https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/01_2019041520.gif
#Tokyowan,https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/01_


hon["Tokyowan,url"]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/01_"
hon["Isewan,url"]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/02_"
hon["Setonaikai,url"]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_"


declare -p hon

}


_sort_maps() {

local -a maps; local c lock cmx

for h in  "${!hon[@]}"; do if [[ "$h" =~ ,name$ ]]; then maps[$c]=${hon[$h]}; ((c++)); fi; done


lock=1; cmx=${#maps[@]}; ((cmx--))

while [ "$lock" -eq 1 ]
do
lock=0;
       for ((i=0;i<$cmx;i++))
       do c=i; ((c++))
       if [[ "${maps[$i]}" > "${maps[$c]}" ]]; then tmp="${maps[$i]}"; maps[$i]="${maps[$c]}"; maps[$c]="$tmp"; lock=1; fi
       done
done
echo "${maps[@]}"

}


#test -z "${hon[Tokyowan,name]}" && _init_dynamique
test -z "${hon[Tokyowan,name]}" && _init_statique


#
if [ "$#" -eq 1 ]; then echo "manque des arguments"; exit 1; fi

if [[ "$1" =~ [0-2]*[0-9] ]] && [ "$1" -le 21 -a "$1" -ne 0 ]; then jmax="$1"
else echo -e "arg \$1 [1-21]\n1 aujourd'hui\n2 demain\n3 apres-demain ...\n21 limite\nargs \$* $(_sort_maps)\n"; exit 1
fi

for(( i=2; i<=$#; i++ ));
do
if [ -n "${!i}" ]; then existe=$(egrep -wc "${!i}" < <(_sort_maps))
else echo "arg ${!i} n'existe pas"; exit 1
fi
if [ "$existe" -eq 0 ]; then  echo "arg ${!i} invalide"; exit 1; fi
done


#
declare  -A res
jour=0;  telecharger=0
#https://crashcourse.housegordon.org/gnu-date-timezones.html
#dat=$(env LANG=C LC_ALL=C date +%Y%m%d -d now)  # heure locale
dat=$(env LANG=C LC_ALL=C TZ='Asia/Tokyo' date +%Y%m%d -d now) # heure japon

while [ "$jour" -lt "$jmax" ]

    do ((jour++)); for ((h=0;h<=23;h++))

        do for((i=2;i<=$#;i++))


            do  printf -v heure "%02d" $h
            hdate="$dat$heure"
            tg="${!i}"; lieu=$tg;  url="${hon[${tg},url]}"
            meteo="$url${hdate}.gif"
            res["${hdate},${lieu}"]="$meteo"

            if [ "$telecharger" -eq 1 ]; then
                if [ ! -f  "/tmp/${lieu}/${dat}" ]; then mkdir -p "/tmp/${lieu}/${dat}"; fi
       		 curl -s -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" -o "/tmp/${lieu}/${dat}/${lieu}_${hdate}.gif" "$meteo"
		((cwget++))
                if [ "$cwget" -eq 10 ]; then sleep 1s; echo "attente 1s"; cwget=0; fi
            fi

            done
        done

     dat=$(env LANG=C LC_ALL=C TZ='Asia/Tokyo' date +%Y%m%d -d "${jour} days")
     done


for item in "${!res[@]}"; do echo "$item,${res[$item]}"; done

cat completion_kaiho1.bash

_auto_kaiho() {
local cur c 
local -a maps
declare -Ag hon='([KagosimawanN,fr]="Nord de la baie de Kagoshima" [Okinawa5,jp]="慶良間列島・粟国島・久米島" [Okinawa3,fr]="Sud de l'\''île d'\''Okinawa" [Amami,jp]="奄美大島付近" [Okinawa5,en]="Kerama Islands Yasukuni Island Kume Island" [Okinawa1,name]="Okinawa1" [Amami,en]="Near Amami Oshima" [SimabaraN,jp]="島原湾北部" [TaneYaku,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/TaneYaku_" [Okinawa2,jp]="沖縄島北部" [SimabaraN,en]="Northern Shimabara Bay" [Okinawa5,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa5_" [Okinawa4,jp]="与那国島" [YatusiroS,name]="YatusiroS" [Amami,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_" [Isewan,fr]="Baie d'\''Ise" [TaneYaku,name]="TaneYaku" [Setonaikai,jp]="瀬戸内海沿岸" [SimabaraN,fr]="Nord de la baie de Shimabara" [Okinawa1,jp]="沖縄島群島" [Okinawa1,en]="Okinawa island archipelago" [KagosimawanN,jp]="鹿児島湾北部" [Setonaikai,name]="Setonaikai" [SimabaraS,fr]="Sud de la baie de Shimabara" [Isewan,en]="Ise bay" [Okinawa4,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa4_" [Tokyowan,en]="Tokyo Bay" [Koshiki,en]="West coast of Kagoshima prefecture" [YatusiroN,en]="Northern Yatsushiro Sea" [SimabaraS,name]="SimabaraS" [Tokyowan,url]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/01_" [Okinawa5,fr]="Îles Kerama Île Yasukuni Île Kume" [Okinawa2,name]="Okinawa2" [Amami,fr]="Près de Amami Oshima" [Koshiki,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Koshiki_" [YatusiroN,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/YatusiroN_" [Okinawa6,jp]="大東諸島" [TaneYaku,fr]="Près de Tanegashima et Yakushima" [Okinawa6,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa6_" [YatusiroS,en]="Southern Yatsushiro Sea" [Okinawa7,jp]="宮古島・石垣島・西表島" [Okinawa7,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa7_" [Okinawa7,en]="Miyakojima Ishigakijima Iriomotejima" [Okinawa2,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa2_" [KagosimawanS,jp]="鹿児島湾南部" [SimabaraN,name]="SimabaraN" [Okinawa5,name]="Okinawa5" [SimabaraS,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/SimabaraS_" [Amami,name]="Amami" [YatusiroS,fr]="Mer du sud de Yatsushiro" [Okinawa3,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa3_" [Okinawa2,fr]="Nord de l'\''île d'\''Okinawa" [Okinawa6,name]="Okinawa6" [Okinawa3,jp]="沖縄島南部" [Okinawa2,en]="Northern Okinawa Island" [SimabaraN,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/SimabaraN_" [Okinawa4,fr]="Île Yonaguni" [Okinawa3,en]="Southern Okinawa Island" [Okinawa4,en]="Yonaguni Island" [SimabaraS,jp]="島原湾南部" [Okinawa1,url]="https://www1.kaiho.mlit.go.jp/KAN11/choryu/inet/Okinawa_Current_Map/Okinawa1_" [SimabaraS,en]="Shimabara Bay South" [Okinawa1,fr]="Archipel de l'\''île d'\''Okinawa" [KagosimawanN,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/KagosimawanN_" [Okinawa3,name]="Okinawa3" [Tokyowan,name]="Tokyowan" [Okinawa7,fr]="Miyakojima Ishigakijima Iriomotejima" [Koshiki,name]="Koshiki" [YatusiroN,name]="YatusiroN" [Isewan,name]="Isewan" [Okinawa6,fr]="Îles Daito" [YatusiroS,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/YatusiroS_" [Setonaikai,en]="Seto Inland Sea coast" [Isewan,jp]="伊勢湾" [KagosimawanN,en]="Northern Kagoshima Bay" [KagosimawanN,name]="KagosimawanN" [Tokyowan,jp]="東京湾" [KagosimawanS,name]="KagosimawanS" [Koshiki,jp]="鹿児島県西方沿岸" [YatusiroN,jp]="八代海北部" [Setonaikai,url]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_" [Isewan,url]="https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/02_" [TaneYaku,jp]="種子島・屋久島付近" [Okinawa7,name]="Okinawa7" [Okinawa4,name]="Okinawa4" [TaneYaku,en]="Near Tanegashima and Yakushima" [YatusiroS,jp]="八代海南部" [Setonaikai,fr]="Seto côte de la mer intérieure" [KagosimawanS,url]="https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/KagosimawanS_" [Okinawa6,en]="Daito Islands" [KagosimawanS,fr]="Sud de la baie de Kagoshima" [Tokyowan,fr]="Baie de Tokyo" [Koshiki,fr]="Côte ouest de la préfecture de Kagoshima" [YatusiroN,fr]="Mer du nord de Yatsushiro" [KagosimawanS,en]="Southern Kagoshima Bay" )'

for h in  "${!hon[@]}"; do if [[ "$h" =~ ,name$ ]]; then maps[$c]=${hon[$h]}; ((c++)); fi; done
cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=($(compgen -W '${maps[*]}' -- $cur))
}

complete -F _auto_kaiho /home/toto/scripts/kaiho1.bash

#ou complete -F _auto_kaiho kaiho1.bash  # si   kaiho1.bash est copié dans un chemin connu de PATH ([i]printenv PATH[/i]), par exemple /usr/local/bin/
#ou ~/.bashrc  
# if [ -f /usr/local/bin/kaiho1.bash ]; then . /path..../completion_kaiho1.bash ; fi
...@...:~/scripts$ . completion_kaiho1.bash 
...@...:~/scripts$ /home/toto/scripts/kaiho1.bash [touche tab++] 
Amami         KagosimawanN  Koshiki       Okinawa2      Okinawa4      Okinawa6      Setonaikai    SimabaraS     Tokyowan      YatusiroS     
Isewan        KagosimawanS  Okinawa1      Okinawa3      Okinawa5      Okinawa7      SimabaraN     TaneYaku      YatusiroN    
/home/toto/scripts/kaiho1.bash 2 YatusiroN Tokyowan Okinawa7 Isewan | sort -t, -k2 -k1

les prévisions d'aujourdhui et demain pour  YatusiroN Tokyowan Okinawa7 Isewan

Dernière modification par LeoMajor (Le 09/04/2019, à 19:36)

Hors ligne

#13 Le 27/07/2019, à 06:24

kuroxx

Re : Télécharger des GIFs avec WGET : site protégé ?

Bonjour, Leomajor, j
'ai un petit problème avec le dernier scripts kaiho1.bash.
Quand je l'execute j'ai ça  :

~/Documents/Météo/Courants/Japon/scripts$ ./kaiho1.bash 1 Amami
2019072723,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072723.gif
2019072717,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072717.gif
2019072718,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072718.gif
2019072705,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072705.gif
2019072716,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072716.gif
2019072707,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072707.gif
2019072715,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072715.gif
2019072703,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072703.gif
2019072702,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072702.gif
2019072709,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072709.gif
2019072719,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072719.gif
2019072706,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072706.gif
2019072712,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072712.gif
2019072708,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072708.gif
2019072710,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072710.gif
2019072721,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072721.gif
2019072713,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072713.gif
2019072714,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072714.gif
2019072700,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072700.gif
2019072722,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072722.gif
2019072701,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072701.gif
2019072711,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072711.gif
2019072704,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072704.gif
2019072720,Amami,https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072720.gif

et je souhaiterai n'avoir que les url pour les télécharger (comme ci-dessous) directement avec un wget -i :

~/Documents/Météo/Courants/Japon/scripts$ ./kaiho1.bash 1 Amami
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072723.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072717.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072718.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072705.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072716.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072707.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072715.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072703.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072702.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072709.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072719.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072706.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072712.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072708.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072710.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072721.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072713.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072714.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072700.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072722.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072701.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072711.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072704.gif
https://www1.kaiho.mlit.go.jp/KAN10/kaisyo/tidal_c/Kyuushuu_Current_Map/Amami_2019072720.gif

J'ai essayé de bidouiller le script mais sans succès :s

Hors ligne

#14 Le 27/07/2019, à 13:47

kuroxx

Re : Télécharger des GIFs avec WGET : site protégé ?

Pour me répondre, en attendant, j'ai bidouillé une solution un peu moins "esthétique" à partir de la commande CUT :

~/Documents/Météo/Courants/Japon/scripts$ ./kaiho1.bash 1 Setonaikai | cut -d, -f3
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072713.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072705.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072721.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072717.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072706.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072719.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072707.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072701.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072710.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072716.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072722.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072709.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072715.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072718.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072714.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072723.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072712.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072720.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072711.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072702.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072704.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072708.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072700.gif
https://www1.kaiho.mlit.go.jp/KANKYO/TIDE/cgi-bin/curr_img/03_2019072703.gif

Hors ligne

#15 Le 07/08/2019, à 14:21

LeoMajor

Re : Télécharger des GIFs avec WGET : site protégé ?

salut,

tu remplaces telecharger=0 par telecharger=1 ;  récupération sous "/tmp/${lieu}/${dat}"

Il ne fait pas trop chaud au japon ?

Hors ligne