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 :

Comment extraire les données d’une page WEB dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Par défaut Comment extraire les données d’une page WEB dynamique
    Bonjour,
    Comment extraire les données d’une page WEB dynamique.
    Jusqu’à présent pour extraire les données d’un site Web j’utilisais ce code classique (avant/après) qui fonctionnait bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Maj()
    DoEvents
    URL = Range("A1").Value
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", URL, False
        .Send
        If .Status = 200 Then
            avant = "expression trouvée dans le code souce "
            apres = " expression trouvée dans le code souce "
            Range("B2").Value = Val(Split(Split(.responsetext, avant)(1), apres)(0))
        End If
    End With
    End Sub
    J’ai voulu faire la même chose avec un site WEB dynamique mais j’ai rencontré 2 problèmes.
    Dans le code source, avec Google chrome, je ne trouve pas la valeur recherchée (ce qui semble être normal après nombreuses lectures sur la toile)
    Lorsque je sélectionne la valeur recherchée (sur la page internet) et que « j’inspecte « le code spécifique, les expressions situées, avant et après, que je reporte scrupuleusement dans ma macro ne fonctionnent pas.

    Même problème avec cette solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    code = htmlCodePage("xxxxxxx")
    code = regexExtract(code, "")
    Que faut il faire S.V.P et merci par avance.

  2. #2
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour,

    Ne serait-il pas préférable de parser le DOM plutôt que la source ?
    Un tutoriel rédigé par Arkham46 est disponible ici.
    Vous y trouverez la définition d'une fonction nommée DownloadXML (prendre la 2ème définition, celle qui contient 15 lignes)

    Vous pourrez ensuite utilisez les méthodes de l'objet oXML (de type MSXML2.DOMdocument) pour récupérer des éléments et leur attributs (voir la doc MSDN).

    Cdt

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Par défaut
    Merci beaucoup
    avez vous un exemple de code pour m'aider?
    Cordialement

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 246
    Par défaut
    hello,
    avec un site web dynamique , il ne faut pas utiliser un téléchargement de page car en général il y a des scripts javascripts qui génèrent les données. Il faut utiliser un navigateur qui va exécuter les scripts --> utiliser IE en objet automation ou seleniumbasic.
    Ami calmant, J.P

Discussions similaires

  1. Extraire des données d’une page web avec R
    Par yalehaire dans le forum R
    Réponses: 5
    Dernier message: 02/02/2018, 09h00
  2. Récupérer les données d’une page web et les incorporer dans un tableau
    Par miss_ana dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 26/05/2014, 11h16
  3. Réponses: 4
    Dernier message: 02/05/2010, 11h59
  4. [Talend open studio] Comment extraire les données à partir d'Oracle ?
    Par aymengomez dans le forum Développement de jobs
    Réponses: 19
    Dernier message: 15/05/2009, 12h09
  5. comment extraire les données d'un champs
    Par atmar dans le forum VBA Access
    Réponses: 27
    Dernier message: 04/01/2008, 16h58

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