VB/VB.Net Trier un code HTML dans une textbox?

-FaLcOn-

Magouilleur
Inscrit
9 Mai 2012
Messages
44
Reactions
0
#1
Hey!

J'ai enfin (avec l'aide de moon) réussis à faire ce que je voulais, mon but premier!



C'est à dire connecter un compte dofus au site (gestion de compte) et accéder à la partie "Dofus".

Dans la textbox on voit le code HTML de la page après les opérations que j'ai cité ci dessus!

Seulement voila, si je pouvais juste avoir la partie intéressante du code source (abonnement etc), ce serait mieux! :lol:

J'ai check sur le net, on me dit d'y aller a coup de regex et a coup de XPATH!

Mais j'suis noob moi! Donc j'ai tenté des choses, j'ai réussis à supprimer des lignes, mais jamais à récupérer seulement ce qui m'intéresse...
(Avec Textbox.text.remove et Replace)

Bref, merki davanss c4dernisse =D
 

Geraff

Administrateur
Membre du personnel
Inscrit
13 Mars 2008
Messages
564
Reactions
0
#2
Parcours ton code source et sert toi des classes etc pour savoir ou tu es.

Une fois que tu sais ou tu es : (<div class="game_logo_ban">) tu vas jusqu'à la fin de ta zone (</div>) et tu envoies le contenu à une fonction.

C'est cette fonction qui saura découper le contenu pour en retirer les infos.

Tu peux le faire en regex mais je te conseillerai de faire un truc simple qui marche au début et ensuite de passer aux regex. Surtout que faire évoluer un truc qui marche est plus simple car tu peux comparer.

Ensuite tu as des générateur de regex et aussi des testeurs. Tu peux prendre ton code source et tester tes regex dessus pour en sortir les infos dont tu as besoins.
 
A

Anonymous

Invité
#4

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#5
C'est vrai qu'en y repensant le regex est pas du tout adapté. C'est fait pour récupérer des éléments sur des lignes dont la disposition est static ce qui n'est pas notre cas.
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#6
Pour la lecture xml et dérivé j'utilise toujours un parseur permettant de lire d'itérer au travers de nœuds ou de rechercher directement une balise par son nom ou son identifiant.
 

-FaLcOn-

Magouilleur
Inscrit
9 Mai 2012
Messages
44
Reactions
0
#8
Ça commence à me saouler j'arrive à rien! xD
 
Inscrit
7 Juillet 2013
Messages
13
Reactions
0
#9
Si tu sais ce que tu veux , utilise string.Contain("<text>");
C'est comme ça que je fais quand je dois traiter des trucs comme ça et ça fonctionne vraiment bien.
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#10
mauvaise idée , si jamais il change le text afficher ou quoi que ce soit nan faut utiliser un bon reader bien fiable...
 

Geraff

Administrateur
Membre du personnel
Inscrit
13 Mars 2008
Messages
564
Reactions
0
#11
En même temps s'ils changent la structure de la page tu es dans le même cas.

Tu ne peux te fier qu'aux classes et aux ids qui ne changent pas trop souvent.
il te faut un reader qui décompose ta page html et qui te permet de faire des recherches en profondeur sur des nœuds.

sinon tu fais ton propre reader vu que tu n'as pas besoin de faire beaucoup de choses. Tu te fais une fonction qui récupère les données entre un élément à partir d'une classe et une fonction qui le fait par rapport à un id.
 

-FaLcOn-

Magouilleur
Inscrit
9 Mai 2012
Messages
44
Reactions
0
#12
Merci aux aideurs! Il fallait utiliser la fonction "Between", beaucoup plus simple que tout ce que j'avais tenté! ^^

RichTextBox1.Text = "Abonnement restant : " & GetBetween(Response, "Date d'expiration : </strong>", "</p>")
 
A

Anonymous

Invité
#13
Perso j'aurais fait 2splits ...
Je connaissais pas Between :D
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#14
M'enfin c'est pas très propre, une simple maj de la page et ton code est mort, autant faire un p'tit Reader.
 
Inscrit
27 Aout 2012
Messages
264
Reactions
0
#15
Bah si tu fais un reader et que tu te bases sur les classes, une MaJ et c'est mort aussi :D
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#16
Oui c'est vrai x), dans tout les cas on pourra jamais faire quelque chose de dynamique.
 

Geraff

Administrateur
Membre du personnel
Inscrit
13 Mars 2008
Messages
564
Reactions
0
#17
Comme je l'ai dis plus au on ne change que rarement les classes et les ids dans une page donc c'est le plus sur pour moi.
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#18
Si ca se trouve il y a des administrateur de dofus sur le forum qui en voyant ce poste vont changer les ids et name de la page :ugeek:
 
Inscrit
27 Aout 2012
Messages
264
Reactions
0
#19
Le jeu du chat et de la souris.
J'aime. :3
 
A

Anonymous

Invité
#20
Sauf que nous on ne se cache même pas, et on arrive quand même à les faire marron.

Les pauvres.
 
Haut Bas