[R] MAJ d'un vieux script ne fonctionnant plus
Posté : dim. 22 janv. 2017 14:49
Bonjour à toute la communauté.
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é:
J'ai vérifié sur le site analysé, et le mot "magnitude" existe encore dans le code source (Il me semble me rappeler que c'est un mot clé recherché dans le script, et son bon fonctionnement en dépend), donc je ne sais pas où est le problème. Merci d'avance à toute bonne volonté 
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
