Problème d'extraction de données html

spootnic22 Messages postés 84 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 30 janvier 2010 - 31 oct. 2006 à 11:34
le cancre Messages postés 292 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 27 novembre 2009 - 31 oct. 2006 à 13:29
Salut les experts,
Je suis entrain de réaliser une application avec le visual basic; le but c'est de faire une intérrogation des sites web appel d'offres. Le problème que j'ai confronté c'est que je sais pas comment faire l'extraction des données html avec le visual basic c'est à dire de faire associer des données d'une table sous html dans leurs zones de texte sous visual basic.
 Pour mieu expliquer, j'ai par exemple une Label nommée "Siège Social" et la zone de texte correspondante est nommée Texte3; le code est les suivant:
<td align="left" valign="top" bgcolor="#FFFFFF" class="boldtextarial">Si&egrave;ge               social</td>
 <td bgcolor="#336699"></td>
 <td align="left" valign="top" bgcolor="#EBF0F5" class="basictext">316 Cours Lafayette

            69003 LYON 03 </td>

Dans l'application, je veux qu'on associe à "Siège Social" la valeur "316 Cours Lafayette 69003 LYON 03 "
S'il vous plaît Messieurs, si vous avez une idée sur ce truc je serai très reconnaissant.
Merci d'avance

4 réponses

le cancre Messages postés 292 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 27 novembre 2009
31 oct. 2006 à 11:57
Hi = "td align="left" valign="top" bgcolor="#FFFFFF" class="boldtextarial">Si&egrave;ge               social</td>
 <td bgcolor="#336699"></td>
 <td align="left" valign="top" bgcolor="#EBF0F5" class="basictext">316 Cours Lafayette

            69003 LYON 03 </td>"

' premiere solution ....mais ya rien ,c'est juste un exemple
label1.Caption = Mid(Hi, InStr(Hi, "316"))
label1.Caption = Replace(label1.Caption, "
", "")
label1.Caption = Replace(label1.Caption, "</Td>", "")


 
0
spootnic22 Messages postés 84 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 30 janvier 2010
31 oct. 2006 à 12:02
Merci Mr pour votre réponse, le problème c'est que les données de la page html sont dynamique.
Merci d'avance.
0
le cancre Messages postés 292 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 27 novembre 2009
31 oct. 2006 à 13:01
Hi <- contient le code html
dim xPos() as string ,Compteur as long
For i = 1 to Len(Hi)
Select case mid(Hi,i,1)
case "<":xDebut = i
case ">"
 Compteur = Compteur +1:Redim Preseve xPos(Compteur)
xPos(Compteur) = xDebut & "/" i
end Select
Next i

Dim xDecoupe() as String
for i = 0 to Ubound(xPos)
   xDecoupe = split(xPos(i),"/") 
   xAvance = split(xPos(i+1),"/")


Text1.Text = Text1.Text & Vbcrlf & Mid(Hi,xDecoupe(1)+1,xAvance(0)-1)


next i

J'explique mon code....
on cherche la position de tout les crochets <......> (debut et fin)
on le stock dans xPos
on fait une boucle de xPos
et on garde dans Text1 juste les données qui sont entre les crochets

j'ai pas testé le code...c'est juste de tete comme ca
0
le cancre Messages postés 292 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 27 novembre 2009
31 oct. 2006 à 13:29
plus simple, tu affiche le code sur page web, tu fais une selection de la page web .....un sendkeys pour "le copier" et tu donne le focus à ton textbox et tu fais "coller" par sendkeys aussi

apres .......
place dans une variable toutes les villes de france
dim Ville as String
Ville ="Paris/.......etc."
tu cherche la position du caractere de la premiere lettre de la ville

à partir de la .......tu sais que tu as déjà une partie de la position de ta chaine
et que l'autre ligne au dessus contient l'adresse
0
Rejoignez-nous