[R] Récupération de la source d'une page web

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
patator
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 24 nov. 2013 16:12
Status : Hors ligne

[R] Récupération de la source d'une page web

#1

Message par patator »

Bonjour,

Je souhaiterais récupérer les informations de cette page :
http://pserver-evasion.com/fr/scripts/b ... record.php

J'écrit donc cela :
► Afficher le texte
Dans la message Box il m'écrit rien du tout :shock:

Au final je souhaite traiter ces informations mais j'essayerais seul, les récupérer serais déjà pas mal.
Avant de venir vers vous j'avais déjà écrit un script mais bizarrement depuis peu il ne fonctionne plus.
Modifié en dernier par patator le jeu. 28 nov. 2013 20:37, modifié 3 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#2

Message par mikell »

Très probablement ce serveur a un gros coup de fatigue
InetRead a un timeout intégré donc ça te retourne une erreur
Un test avec ce code montre que (actuellement) le résultat tombe péniblement après 40 à 50 sec minimum
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
patator
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 24 nov. 2013 16:12
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#3

Message par patator »

Re

Alors la moi je dis GG

Une pitite erreur ici :

Code : Tout sélectionner

$tr_rows = StringRegExp($_txt, '(?s)<tr>(.*?)</tr>', 3)
remplacé immédiatement par

Code : Tout sélectionner

$tr_rows = StringRegExp($txt, '(?s)<tr>(.*?)</tr>', 3)
et tout fonctionne parfaitement.

Au vu de la qualité de la réponse je vais me permetre d'aller plus loin.
Je souhaiterais savoir s'il y'a mieux a faire pour le même résultat que ce qui suis :
► Afficher le texte
Sachant qu'en plus je dois modifier les différents $H suivant l'horloge 24H en y ajoutant le temps de repop qui est différent pour chaque boss.

S'il y a mieux je re-posterais avec cette ajout pour voir une nouvelle fois s'il y'a mieux a faire.

MERCI BCP.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#4

Message par mikell »

Si le but de la manoeuvre c'est de récupérer le nom de chaque boss avec l'horaire correspondant le plus récent, alors oui on peut optimiser
Là j'ai mis le html en bas du script pour le test, ake apparemment en journée il arrive que le serveur soit injoignable (faudra mettre une gestion d'erreur)
► Afficher le texte
Pour avoir le même résultat mais pour tous les boss et sans avoir besoin d'inscrire leurs noms il faut procéder un peu différemment
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
patator
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 24 nov. 2013 16:12
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#5

Message par patator »

Re

Il y a eu un reboot serveur ce matin pour maintenance d'ou le petit problème rencontré.
Alors il est vrai que je n'ai pas expliqué le but de la manœuvre, je le fait tout de suite.

Le script a pour but de récupérer certain Boss et l'heure de leur décès :) pour pouvoir par la suite ajouter a cette horaire leur temps de repop minimum pour m'alerter quand il sont susceptible d’être présent.
Tous les boss on un temps de repop différent de plus ou moins 1h donc je me focalise sur la repop minimum donc -1h.

Repop mini des boss :
Archange de Median : 8h
Dragon : 11h
Mini Dragon : 7h
Master Kibe D : 15h
Cryptic Bulldozer D : 11h
Beginner Magna D : 14h
Goddess Magna D : 14h
Cryptic the Last : 19h

J'aimerais une piste pour retravailler le

Code : Tout sélectionner

$boss[$n][1]
et y ajouter le repop tout en tenant compte de l'horloge de 24h.
Je séche, je me demande comment récupérer juste l'heure, y ajouter le repop mini suivant le boss tout en vérifiant qu'il n'ai pas supérieur a 23, y réacoller les minutes et les secondes puis classer le tout pour que le premier a pop sois en haut de la liste.
(Je ne pense pas avoir besoin de prendre la date en compte, se serai vraiment un manque de bol qu'un des boss n'ai pas été down depuis plusieurs jours)

Après rectification du code pour aller lire la source sur le net, bizarrement il me loupe un boss. En l'occurence le "Mini Dragon".
► Afficher le texte
Et encore un pitit merci ça mange pas de pain :D
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#6

Message par mikell »

S'il te manque "Mini Dragon" c'est simplement qu'il est absent de la page que tu enregistres ^^

Et je te conseille de prendre la date en compte

Code : Tout sélectionner

#include <Date.au3>

$date = "2013-11-24 16:01:47.000"
$date = StringReplace(StringTrimRight($date, 4), "-", "/")
$new_date = _DateAdd('h', 8, $date)
MsgBox(4096, "", $new_date)
à intégrer comme ça
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
patator
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 24 nov. 2013 16:12
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#7

Message par patator »

Re

:arrow: GG

Après petit bidouillage (intégration du repop) le script fait exactement ce que je veut mais il me loupe toujours le "Mini Dragon". L'orthographe est bonne et il est présent dans la liste a l'heure actuel, je ne comprend pas. Par contre il y a un vide comme première item avec ce code, je pense donc que le Mini Dragon devrai ce trouver la mais rien :shock: .
► Afficher le texte
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#8

Message par mikell »

Hum ... faut optimiser un peu plus :mrgreen:
► Afficher le texte
NB :
Dans le code précédent fallait corriger ça :

Code : Tout sélectionner

  If StringInStr($boss_str, "|" & $tableau[$i] & "|") Then
    $boss_str = StringReplace($boss_str, "|" & $tableau[$i] & "|", "|")
;... etc
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
patator
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 24 nov. 2013 16:12
Status : Hors ligne

Re: [R] Récupération de la source d'une page web

#9

Message par patator »

Re

C'est vraiment un truc de dingue. Je ne suis pas tous le code qui a été pondu mais je dis chapeau.
Et si tu veut bien prendre le temps de tout mais vraiment tout commenter sur le code je suis preneur.

Je met en résolu la parceque le soundplay lorsque l'heure fatidique arrive je v réussir a le casser tout seul, enfin espérons :D

Je te remercie énorment pour ce code qui fait 15millions de ligne de moin que mon ancien script a 2 francs six sous je t'assure.

Merci et heu merci :wink:
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Récupération de la source d'une page web

#10

Message par mikell »

Si tu comprends les tableaux tu vas comprendre le code sans problème
Voilà les commentaires
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
patator
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 24 nov. 2013 16:12
Status : Hors ligne

Re: [R] Récupération de la source d'une page web

#11

Message par patator »

Alors oui vu comme ça le code s'éclaircis mais une petite précision sur

Code : Tout sélectionner

$new_date, '(\d{4})/(\d\d)/(\d\d)\h+(\d\d):(\d\d):(\d\d)', "$3-$2-$1  $4:$5:$6"
serais la bien venu. C'est bien la que l'on modifie l'horaire et que l'on y ajoute le temps de repop?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Récupération de la source d'une page web

#12

Message par mikell »

Oy non :mrgreen: c'est _DateAdd() qui ajoute le temps
Voilà le détail pour les dates

Code : Tout sélectionner

#include <Date.au3>

$date = "2013-11-24 16:01:47.000"   ; exemple
$date1 = StringReplace(StringTrimRight($date, 4), "-", "/")
Msgbox(0,"", $date &@crlf& "après mise au format pour _DateAdd() :" &@crlf& $date1)

$date2 = _DateAdd('h', 8, $date1)
Msgbox(0,"", $date1 &@crlf& "après ajout de 8 heures :" &@crlf& $date2)

$date3 = StringRegExpReplace($date2, '(\d{4})/(\d\d)/(\d\d)\h+(\d\d):(\d\d):(\d\d)', "$3-$2-$1  $4:$5:$6")
Msgbox(0,"", $date2 &@crlf& "après mise au format perso :" &@crlf& $date3)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
patator
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 24 nov. 2013 16:12
Status : Hors ligne

Re: [R] Récupération de la source d'une page web

#13

Message par patator »

Re

Bon ben une fois de plus le script se casse les dents alors qu'il fonctionné très bien.

C'est moi ou j'ai pas de bol
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#14

Message par mikell »

Un peu pas de bol, un peu plus le script :mrgreen:
Bon c'est vrai j'aurais pu y penser :roll:
C'est juste que le script ne tient pas compte du fait que dans la page le même boss peut être mentionné plusieurs fois ce qui entraîne une erreur d'array
Donc une ligne à rajouter pour pallier cette éventualité
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
patator
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 24 nov. 2013 16:12
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#15

Message par patator »

Ha oui j'avais prévu moi hihi avec une incrémentation de variable dés que le bosse était trouvé.
J'aurai du souligner cela, je te remercie encore pour m'avoir lu,subit le code d'un débutant et aidé.

Franchement un grand grand merci.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Récupération de la source d'une page web

#16

Message par timmalos »

N'oubliez pas de passer votre post en résolu avec un petit [R] qui je n'en doute pas fera plaisir au chat ;)
Répondre