IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Import Page WEB en VBA : Récupération partielle du code source


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut Import Page WEB en VBA : Récupération partielle du code source
    Bonjour,

    Je souhaite récupérér les données issu d'une page web :
    http://81.248.141.204:8002/index.html

    Un tableau sur la droite indique les valeurs que je souhaite relire.

    J'ai utilisé, il me semble les codes sources disponibles ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    Public Sub closeInter()
        InternetCloseHandle (hSession)
    End Sub
    Sub test()
     
    'getweblog("http://81.248.22.106:3232/","C:")
     
    End Sub
     
     
    Sub GetWeblog()
     
    Dim url As String
    Dim strFic As String
     
    url = "http://81.248.22.106:3232/"
    strFic = "d:\rien.txt"
     
        ' pointeur du lien lien
        Dim hUrlFile As Long
        Dim bBoucle As Boolean
        ' bloc de lecture par buffer 4 096 caractères
        Dim sReadBuf As String * 4096
        Dim OctetsLus As Long
        ' pointeurs des fichiers
        Dim localFile As Long
        ' chronométrage du temps d'exécution
        Dim t0 As Single, t1 As Single
     
        t0 = GetTickCount()
     
        ' ouverture des ressources de navigation internet
        openInter
     
        ' désignation d'un pointeur de fichier libre
        localFile = FreeFile
     
        ' si le fichier existe déjà on l'efface
        If Len(Dir(strFic)) > 0 Then Kill strFic
     
        ' ouverture du fichier en mode binaire
        Open strFic For Binary As #localFile
     
        ' ouverture de l'url
        hUrlFile = InternetOpenUrl(hSession, url, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
     
        bBoucle = True
        While bBoucle
            sReadBuf = ""
            ' lecture par bloc de 4096 caractères
            bBoucle = InternetReadFile(hUrlFile, sReadBuf, 4096&, OctetsLus)
            ' écriture par bloc dans le fichier local
            Put #localFile, , Left(sReadBuf, OctetsLus)
            If OctetsLus = 0 Then bBoucle = False
            DoEvents
        Wend
        ' fermeture du fichier local
        Close #localFile
        ' fermeture des ressources de navigation
        closeInter
     
        t1 = GetTickCount()
        Debug.Print "téléchargement du xml : "; Format((t1 - t0) / 1000, "0.000") & " s"
     
        ' parsing XML du fichier nous verrons ce point plus tard dans l'article
        'xmlParser strFic
     
    End Sub
    Hors je ne reçois vraiment qu'une partie du code source de la page, je ne comprends pas..
    Ou je ne comprends pas le découpage de la page web.
    Lorsque dans l'espion de variable, je regarde l'objet Html récupérer, je ne vois vraiment nulle part les données qui m’intéresse.

    Le résultat de d:\rien.text est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Sunny WebBox</title>
        </head>
        <frameset rows="75,*,22" frameborder="no" border="2" framespacing="0">
            <frame src="top.htm" name="topFrame" scrolling="NO" topmargin="0" leftmargin="0" marginheight="0"
                marginwidth="0" noresize>
            <frame src="home_frameset.htm" name="mainFrame" topmargin="0" leftmargin="0" marginheight="0"
                marginwidth="0">
            <frame src="bottom.htm" name="bottomFrame" scrolling="NO" topmargin="0" leftmargin="0"
                marginheight="0" marginwidth="0" noresize>
        </frameset>
    </html>
    Je cherche depuis hier, et je ne vois vraiment rien, quelque chose doit m'échapper.
    Hors lors de la lecture du code source depuis IE, je vois bien tout ce qui m’intéresse...


    Please Help :o

  2. #2
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut
    Désolé de Up un peu le sujet, mais j'apporte des éléments de réfelxion suite à mes essais :

    _ Je n'arrive pas à récupérer l'objet en utilisant la méthode GetElementsbyId or Name
    _ Dans le document IE.document récupéré, j'ai l'impression de me retrouver dans des poupées russes
    _ Le problème me semble provenir de la décomposition en frame de la page, mais que je ne retrouve pas du tout dans le document HTML récupéré par code

    Pourtant avec IE lorsque je demande de récupérer le code source, j'ai bien tout ce qu'il me faut, je ne comprends pas ne pas arriver à reproduire ce qu'IE fait en deux clics....

    Merci vraiment de m'aider, c'est un petit projet qu'il faut que je termine avant de quitter ce poste.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Extraire des données d'une page Web en VBA sous Excel
    Par BEMI dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/05/2009, 06h24
  2. Réponses: 5
    Dernier message: 21/03/2009, 17h33
  3. Manipulation de formulaires et pages web en vba
    Par PSEUDOMONASSE dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/01/2009, 15h32
  4. import page web dans un champ memo puis extration de texte
    Par pascalourox dans le forum VBA Access
    Réponses: 5
    Dernier message: 22/04/2008, 13h54
  5. Confirmer une fermeture de session d'une page Web en VBA?
    Par pegase33 dans le forum Général VBA
    Réponses: 2
    Dernier message: 05/09/2006, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo