Ma question du jour se base sur un vieux projet qui a pu voir le jour grâce à vous: viewtopic.php?f=3&t=6936&p=45678#p45678
Puis un jour, le script ne fonctionnait plus, et encore une fois, vous avez sauvé la mise: viewtopic.php?f=3&t=10665#p74055
En bref, ce script sert à récupérer des magnitudes de tremblements de terre sur ce site: http://hisz.rsoe.hu/alertmap/index2.php# qui seront stockées dans des fichiers texte.
De là, un programme fabriqué sur Unity3D va les lire et les représenter sous forme de diagrammes.
Pour un peu plus de détail, Auto-It liste tous les résultats de magnitudes, et il prend 5 résultats à la fois pour les stocker dans 5 fichiers textes. L'opération est renouvelée toutes les 5 minutes: les 5 fichiers sont supprimés et remplacés par 5 nouveaux contenant les 5 prochains résultats de magnitudes de la liste. Le script tourne ainsi en boucle et Unity3D met à jour ses diagrammes.
Le script fonctionnait bien pendant longtemps, mais le projet est ressorti et à présent, plus aucun fichier texte n'est créé. Je suppose que la structure du site analysé a changée depuis. Je demande donc humblement un coup de pouce car je nage complètement dans Auto-It.
Voici le script utilisé:
Code : Tout sélectionner
#Include <Array.au3>
$pas = 5
$wait = 10000*12 ;<< mettre 5 minutes
While 1
$source = BinaryToString(InetRead("http://hisz.rsoe.hu/alertmap/index2.php#"))
$magnitude = StringRegExp($source, "text-align:center;font-weight:bold;'>([[:digit:].]+)</td><td>", 3)
$nb = UBound($magnitude)
Dim $array[Ceiling($nb/$pas)][$pas]
For $i=0 to $nb-1
$array[Floor($i/$pas)][Mod($i, $pas)] = $magnitude[$i]
Next
;_ArrayDisplay($array)
$nb_lignes = UBound($array)
$nb_colonnes = UBound($array, 2)
Dim $array_temoin[$nb_lignes*$nb_colonnes]
For $i = 0 to $nb_lignes-1
For $j = 0 to $nb_colonnes-1
If $array[$i][$j] = "" Then $array[$i][$j] = "0.0"
FileDelete("Magnitude" & $j+1 & ".txt")
FileWrite("Magnitude" & $j+1 & ".txt", $array[$i][$j])
$test = $i*$pas+$j
$array_temoin[$test] = $array[$i][$j]
Next
; msgbox(0,"", "série " & $i+1) ; si activée, cette msgbox sert à mettre le script en pause, pour laisser le temps de vérifier à la main le contenu des fichiers créés si on veut faire cette vérification
Sleep($wait)
Next
;_ArrayDisplay($array_temoin, "array_temoin")
Wend