Page 1 sur 2

[...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 07:59
par Xavier59
Bonjour,

Bon, je sais comment récupéré le code HTML d'une page web, mais je ne sais pas l'exploitez.
Je voudrez donc récupérer des informations.

Ici, voilà ce que j'ai sur une des pages :

Code : Tout sélectionner

                    <tbody><tr><td class="even" style="padding-left:5px;"><a href='http://xxxxxxxx/xxxxxxx/?id=36695225' class='usergroup_2'>loveTapioca</a></td><td class="even" style="">Il y a 8 heures</td></tr><tr><td class="odd" style="padding-left:5px;"><a href='http://xxxxxxxxxx.com/xxxxxxxx/?id=35623708' class='usergroup_2'>lucietueuse</a></td><td class="odd" style="">Il y a 8 heures</td></tr><tr><td class="even" style="padding-left:5px;"><a href='http://xxxxxxxxxx/?id=36817041' class='usergroup_2'>liuiv</a></td><td class="even" style="">Il y a 8 heures</td></tr><tr><td class="odd" style="padding-left:5px;"><a href='http://xxxxxx/xxxxxxxxx/?id=37062819' class='usergroup_2'>Angel.♥</a></td><td class="odd" style="">Il y a 8 heures</td></tr><tr><td class="even" style="padding-left:5px;"><a href='http://xxxxxxxxxx/xxxxxxxxx/?id=37231729' class='usergroup_2'>Goth'&nbsp;is&nbsp;my&nbsp;life&nbsp;†</a></td><td class="even" style="">Il y a 8 heures</td></tr></tbody>
                </table>
Bon, ici, j'ai lien menant vers différent profile.
Le probleme c'est que ce sont des liens, donc contrairement aux boutons, ils n'ont pas d'ID etc pour pouvoir cliquez dessus.
Alors comment faire pour pouvoir, grâce à la récupération du code HTML, récupérer un des liens ?

Bonne journée.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 09:16
par Xavier59
Voilà ce que j'ai essayez de faire mais ca ne marche pas, ma MsgBox ne me retourne rien :

Code : Tout sélectionner

Local $Source 
Local $Joueur

$Source = BinaryToString(InetRead("http://gaia.equideow.com/joueur/fiche/?id=25008246"))
$recuperejoueur = _StringBetween($Joueur,"<tbody><tr><td class=""even"" style=""padding-left:5px;""><a href=''","''class=''usergroup_2''>")
MsgBox(4096,"ID",$Joueur)

 

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 11:02
par FireFox
Bonjour,
As-tu lu le fichier d'aide pour la fonction _StringBetween? Et testé l'exemple fourni avec?
Apparemment non.

De plus, dans ton script la variable utilisée dans la MsgBox n'est jamais assignée (juste initialisée au début).

Cdlt, FireFox.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 11:14
par Xavier59
Bonjour,

J'ai suivit ce tutoriel : http://www.legeekcafe.com/tutoriels-133 ... utoit.html

De plus, ma variable $Joueur est bien utilité ici :

Code : Tout sélectionner

_StringBetween($Joueur,"<tbody><tr><td class=""even"" style=""padding-left:5px;""><a href=''","''class=''usergroup_2''>")
Donc, je ne comprend toujours pas.
Je vais tenter de fouiller un peu le String Between comme vous me l'avez dit.

Edit :

Bon, j'ai lu un peu et je suis donc tombé sur ça dans la documentation :
#include <String.au3>
_StringBetween($s_String, $s_Start, $s_End [, $v_Case = -1])
Ainsi, si je comprend bien, je ne dois pas utiliser ma variable $Joueur mais plutôt ce qui doit être recherché, ici l'url que je recherche.
Le problème c'est que je ne connais pas l'url, je sais entre quoi et quoi elle est placé, mais je veut l'obtenir.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 11:22
par TT22
Est-ce que ceci fait ce que tu cherche ?

Code : Tout sélectionner

#include <Inet.au3>
#include <String.au3>

; On récupère la source
$HTML = _INetGetSource("http://gaia.equideow.com/joueur/fiche/?id=25008246")

; On récupère tout ce qui est entre "'http://gaia.equideow.com/joueur/fiche/?id=" et "'"
$Between = _StringBetween($HTML, "'http://gaia.equideow.com/joueur/fiche/?id=", "'")

; On affiche les liens
For $id In $Between
    MsgBox(0, '', "http://gaia.equideow.com/joueur/fiche/?id="&$id)
Next

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 11:23
par Xavier59
C'est exactement ce que je cherche !
Je vais essayer ton code, merci ! :')
Je reviendrais vous prévenir de l'avancement de mon projet.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 11:24
par TT22
Pas de problème, si tu as d'autre questions sur le code que je t'ai donné n'hésite pas à les poser :wink:

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 11:49
par Xavier59
En effet, j'ai encore un petit problème.
Le code que tu m'as donné m'a retourné 8 url, or, je n'en veut qu'un bien précise.
J'ai donc essayé d'affiner la recherche avec ceci :

Code : Tout sélectionner

$Between = _StringBetween($HTML, "<tbody><tr><td class=""even""style=""padding-left:5px;""><a href='http://gaia.equideow.com/joueur/fiche/?id=", "'")
Le seul problème, c'est que maintenant, j'ai une erreur :
Variable must be of type "Object"
a cette endroit :
For $id In $Between^ERROR
Merci d'avance.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 12:18
par TT22
Le problème vient du fait que tu a oublié un espace (en rouge) :
Xavier59 a écrit :

Code : Tout sélectionner

$Between = _StringBetween($HTML, "<tbody><tr><td class=""even""[b][color=#FF0000]_[/color][/b]style=""padding-left:5px;""><a href='http://gaia.equideow.com/joueur/fiche/?id=", "'")
Le bon code est celui-ci :
► Afficher le texte
Par contre, il y a deux liens qui sont retournés par ce code.
Si tu veux le premier trouvé, utilise le code de la 1ère MsgBox.
Si tu veux le deuxième, utilise le code de la 2nde MsgBox.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 12:42
par Xavier59
Ah oui, petite faute :oops:

Je voudrais juste savoir avant de chercher inutilement ( svp, me donner pas le code, faut que j'apprenne de moi même ) si il est juste possible de regarder dans le code HTML d'une page et de faire en sorte que si ceci existe alors ...

J'ai déjà essayez avec ça, ou la je n'ai pas exploitez le code HTML, mais ça ne marche pas :

Code : Tout sélectionner

$ConnectOrNot = _IEGetObjById($wb,"fieldError-invalidUser")
If not @error Then
   MsgBox("4096","Erreurr","Quelque chose ne va pas, votre identifiant ou votre mot de passe est incorrect")
EndIf
Ici, j'ai compris que peut importe si il avait l'objet, il ne retournait pas d'erreur :/

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 17:44
par mikell
Xavier59 a écrit :... si il est juste possible de regarder dans le code HTML d'une page et de faire en sorte que si ceci existe alors ...

Code : Tout sélectionner

$code_de_la_page = _IEDocReadHTML($wb)
If StringInStr($code_de_la_page, "ceci") Then ...
:mrgreen:

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 17:49
par Xavier59
Merci bien !
Et ... j'ai encore des questions, toujours des questions :P
Pourtant je cherche ...
J'aimerais cliquer sur un bouton ... mais celui ci n'as pas d'ID, donc je ne peut pas faire _IEGetObjById ...
Que faire :

Code : Tout sélectionner

<a href="" _theme="2" onclick="return toggleWrite(null, "form=action");" direction="rtl" style="" class="action action-style-2">
Bon, y a la balise a href qui dit que c'est un lien, mais un lien bizarre dis donc ... c'est du javascript normalement mais bref ... moi pu comprendre autoit.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 18:13
par mikell
Hum là on peut rien dire parce qu'il en manque dans ce que tu as posté

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 21:11
par Tlem
Bonsoir Xavier59.
Pouvez-vous expliquer ce que vous cherchez à automatiser sur ce site http://gaia.equideow.com ?

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 21:24
par Xavier59
Tlem a écrit :Bonsoir Xavier59.
Pouvez-vous expliquer ce que vous cherchez à automatiser sur ce site http://gaia.equideow.com ?
Bien sure.
Je cherche a récupérer les ID de nombreux joueurs.
Pour cela, je cherche certains ID dans le code HTML, et à chaque fois je visite un nouveau joueur en trouvant d'autres ID.
Je laisse tourner le script environ 1 journée, puis je retournerai le tout dans un fichier texte.
Un mois plus tard, je relance un script qui va re-visiter tous les ID que j'ai pris et vérifier si les joueurs existent encore.
Ainsi, j'obtiendrait le pourcent de joueur qui stop le jeu/ mois.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 21:55
par Tlem
Avez-vous l'accord du gérant du site pour ce type d'action ?

Aux vues des Conditions générales d'utilisation, je doute que vous soyez autorisé à ce genre de manipulations :
3.1 Utilisation des Services.

Les Services sont destinés à une utilisation à des fins personnelles uniquement et vous ne devez en aucun cas en faire un quelconque usage commercial. Vous vous engagez à ne pas vendre, louer ou commercialiser le Contenu. Vous vous engagez en outre à ne pas arranger, modifier, décompiler, désassembler, procéder à des opérations de reverse engineering, traduire, adapter, reproduire, distribuer, diffuser ou transférer toute information, tout logiciel, tout produit et d’une manière générale, tout élément de Contenu ou des Services. Le re-postage ou l’utilisation automatisée ou l’utilisation de grand volume du Contenu ou le transfert de tout Contenu à tout autre ordinateur ou appareil mobile sont expressément interdits.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 22:02
par Xavier59
Tlem a écrit :Avez-vous l'accord du gérant du site pour ce type d'action ?

Aux vues des Conditions générales d'utilisation, je doute que vous soyez autorisé à ce genre de manipulations :
3.1 Utilisation des Services.

Les Services sont destinés à une utilisation à des fins personnelles uniquement et vous ne devez en aucun cas en faire un quelconque usage commercial. Vous vous engagez à ne pas vendre, louer ou commercialiser le Contenu. Vous vous engagez en outre à ne pas arranger, modifier, décompiler, désassembler, procéder à des opérations de reverse engineering, traduire, adapter, reproduire, distribuer, diffuser ou transférer toute information, tout logiciel, tout produit et d’une manière générale, tout élément de Contenu ou des Services. Le re-postage ou l’utilisation automatisée ou l’utilisation de grand volume du Contenu ou le transfert de tout Contenu à tout autre ordinateur ou appareil mobile sont expressément interdits.
Je ne fait rien de mal ! Je veut juste obtenir le pourcentage de personne qui quitte le jeu par mois !
Je ne vois pas ce que je fait de mal puisque je ne fait que des choses passives.
Je pense qu'en parlant d'utilisation automatiser, il parle des bots de jeu, je n'ai rien avoir avec ça, c'est juste un script qui va répertorié le plus grand nombre d'ID possible.

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 22:40
par Tlem
Xavier59 a écrit :c'est juste un script qui va répertorié le plus grand nombre d'ID possible.
Vous automatisez donc une collecte d'informations qui ne vous appartiennent pas !
3.2 Règles de Conduite.

Plus particulièrement, vous vous engagez à ne pas, directement ou indirectement:
...
- collecter ou intercepter par tout moyen qui ne serait pas expressément permis par OWLIENT des données échangées par les autres Utilisateurs dans le cadre des Services, ou les noms/pseudonymes et/ou mots de passe de tout autre Utilisateur ;

- accéder, utiliser, télécharger à partir des Services ou autrement reproduire ou fournir à quiconque (à titre gratuit ou onéreux) tout annuaire des Utilisateurs des Services ou toute autre information relative à des Utilisateurs ou à l’utilisation des Services ;
Cela ce passe de commentaires.
Je n'ai pris que les extraits les plus explicites à la situation, mais vous devriez lire les conditions d'utilisation plus en détail. :mrgreen:

Internet n'est pas une zone de non droits. Il n'est pas permis de faire ce que l'on veux, sous prétexte qu'on ne fait rien de mal. A partir du moment ou vous avez cliqué pour approuver les règles d'un site, vous devez vous y conformer. Si vous y contrevenez, vous vous exposez à de possibles poursuites.

Il a déjà été dit à plusieurs reprises que la collecte d'informations sur un site internet n'est pas un droits ou n'est pas forcément autorisé. En l’occurrence, ce que vous faites est considéré comme illégal aux vues du règlement de ce site et je vous encourage à cesser toute activité de collecte de celui-ci.

Cordialement

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 22:50
par Xavier59
Bien.
Si ça peut vous faire plaisir de fermer mon sujet je vois que vous en êtes ravis :|
Faites vous plaisir et continuez à jouer avec vos "règles" autant que vous le voulez.
Vous êtes donc un ange. Il y a tellement de règle dans la vie... Vous n'avez jamais accélérez pour passez aux feux orange ?
Bref.
Bonne soirée

Re: [...] Exploitation d'un code HTML récupéré.

Posté : lun. 28 oct. 2013 23:27
par Tlem
Xavier59 a écrit : Vous n'avez jamais accélérez pour passez aux feux orange ?
Si et cela m'avait couté cher.
Pourtant, je n'avais fait de mal à personne !!!

Je ne cherche pas à fermer votre sujet, mais simplement de vous faire comprendre gentiment qu'en faisant de la collecte telle que vous le faite, vous risquez gros pour si peu. Demandez l'accord de l'éditeur et tout ira pour le mieux.