#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
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
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.
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 :):)
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