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

VBScript Discussion :

Motif d'une RegExp pour extraire des données entre 2 Balises


Sujet :

VBScript

  1. #1
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut Motif d'une RegExp pour extraire des données entre 2 Balises

    Je sollicite votre aide a propos de ce script.
    Ce que je veux faire c'est juste récupérer les données comprises entre les balises <title>Données à extraire</title> et <!--mfunc-->Données à extraire<!--/mfunc-->
    Donc si quelqu'un ici parmi vous a la gentillesse de me corriger la syntaxe du Motif afin d'atteindre mon but.

    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
    Dim Titre,URL,ie,objFSO,Data,OutPut,objRegex,Match,Matches
        Titre = "Notification de Giveawayoftheday © Hackoo © 2013"
        URL = "http://fr.giveawayoftheday.com/"
        Set ie = CreateObject("InternetExplorer.Application")
        Set Ws = CreateObject("wscript.Shell")
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        ie.Navigate (URL)
        ie.Visible=false
        DO WHILE ie.busy
            wscript.sleep 100
        LOOP
        Data = ie.document.documentElement.innerHTML
        ie.Quit
        Question = MsgBox(RegExp("<title>(.*?)</title>")&vbcr&vbcr&_
        " Le temps restant est :" &vbcr&vbcr&_
        RegExp("<!--mfunc-->(.*?)<!--/mfunc-->")&vbcr&vbcr&_
        "Voulez-vous accéder au site : http://fr.giveawayoftheday.com/  ?",VBYesNO+VbQuestion,Titre)
        If Question = VbYes then
            Ws.Run "http://fr.giveawayoftheday.com/",1,False
        else
            Wscript.Quit
        end if
        Set ie = Nothing
     
    Function RegExp(Motif)    
    Set objRegex = new RegExp
    objRegex.Pattern = Motif 'Motif pour y extraire le code source
    objRegex.Global = False 'une seule instance
    objRegex.IgnoreCase = True 'Ignorer la casse
    Set Matches = objRegex.Execute(Data) 'Execution du la RegExp
    For Each Match in Matches  
        strMatchValue = Match.Value
        RegExp = strMatchValue
    Next
    End Function

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Problème
    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
    Option Explicit
    Dim Titre,URL,ie,Ws,Question,Data,objRegex,Match,Matches,i
        Titre = "Notification de Giveawayoftheday © Hackoo © 2013"
        URL = "http://fr.giveawayoftheday.com/"
        Set ie = CreateObject("InternetExplorer.Application")
        Set Ws = CreateObject("wscript.Shell")
        ie.Navigate(URL)
        ie.Visible=false
        DO WHILE ie.busy
            wscript.sleep 100
        LOOP
        Data = ie.document.documentElement.innerHTML
        ie.Quit
        Set ie = Nothing
        Question = MsgBox(RegExp("<title>(.*)</title>",Data)& vbcr & vbcr &_
        " Le temps restant est : " & RegExp("<!--mfunc-->(.*)<!--/mfunc-->",Data)& vbcr & vbcr &_
        "Voulez-vous accéder au site : ""http://fr.giveawayoftheday.com"" ?",VBYesNO+VbQuestion,Titre)
        If Question = VbYes then
            Ws.Run "http://fr.giveawayoftheday.com/",1,False
        else
            Wscript.Quit
        end if
     
    Function RegExp(Motif,Data)     
     Set objRegex = new RegExp
     objRegex.Pattern = Motif  
     objRegex.Global = False 'une seule instance  
     objRegex.IgnoreCase = True 'Ignorer la casse  
     Set Matches = objRegex.Execute(Data)  
     If Matches.Count > 0 Then
          Set Match = Matches(0)
       If Match.SubMatches.Count > 0 Then
            For i = 0 To Match.SubMatches.Count-1
                RegExp = Match.SubMatches(i)
            Next
        End If
     End If
     Set Matches = Nothing  
     Set objRegex = Nothing  
    End Function

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

Discussions similaires

  1. Choix d'une méthode pour extraire des données web
    Par Serphone dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 26/06/2012, 10h25
  2. Réponses: 0
    Dernier message: 14/11/2011, 15h52
  3. Besoin d'aide pour extraire des données d'une feuille à l'autre
    Par fransky dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2010, 15h03
  4. Réponses: 2
    Dernier message: 25/06/2009, 08h23
  5. Réponses: 6
    Dernier message: 05/05/2008, 15h19

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