begin process at 2012 02 15 21:09:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

lire page web


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lire page web

samedi 8 novembre 2008 à 19:20:08 | lire page web

detbour

Bonjour
Je voudrais savoir si il est possible de recuperer des données d'une page web avec vba, et de les enregistrer dans excel.
les données seraient du style calendrier de match, compositions d'equipe, etc.... 
Si oui je voudrais quelque explications pour le proceder ou de la doc merci.
Meme un petit exemple se serait sympas pour etudier le fonctionnement.
Merci a tous.
dimanche 9 novembre 2008 à 16:29:37 | Re : lire page web

PCPT

Administrateur CodeS-SourceS
salut,

possible oui, après il y a une gymnastique dépendante de la page en question

1. récupérer la source de la page, avec ce code par exemple :


'    RÉCUPÉRER LA SOURCE D'UNE PAGE DANS UNE VARIABLE STRING PAR API
'    http://www.codyx.org/snippet_recuperer-source-page-dans-variable-string-api_620.aspx#1877
'    Posté par [ PCPT ] le 09/06/2008


Private Declare Function  DeleteFile  Lib  "kernel32"  Alias  "DeleteFileA"  ( ByVal  lpFileName  As String As Long
Private Declare Function  URLDownloadToFile Lib "urlmon"  Alias  "URLDownloadToFileA"  ( ByVal  pCaller  As Long ByVal  szURL  As String , ByVal szFileName As String , ByVal dwReserved As Long , ByVal lpfnCB As Long ) As Long
 
Function GetStringSourceFromOnlineFile(ByVal sUrl As String) As String
'   récupère un nom de fichier temporaire
    Dim sTempDest As String
    sTempDest = GetUniqueTempFileName ' http://www.codyx.org/snippet_generer-nom-fichier-temporaire-unique_619.aspx#1876
'   télécharge la page
     If URLDownloadToFile(0&, sUrl, sTempDest, 0&, 0&) = 0 Then
'       on lit le fichier
        Dim FF As Integer
        FF = FreeFile
        Open sTempDest For Input As #FF
            GetStringSourceFromOnlineFile = Input(LOF(FF), 1)
        Close #FF
'       supprime le fichier temp
        Call DeleteFile(sTempDest)
     End If
End Function

'----------------------------------------------------------------
'Remarques :
'Label1.AutoSize = True
'Label1.Caption = "Mon IP WAN : " & GetStringSourceFromOnlineFile("http://www.whatismyip.org")
'
'
'
'nécessite ce snippet : http://www.codyx.org/snippet_generer-nom-fichier-temporaire-unique_619.aspx#1876



2. récupérer les chaînes utiles en nettoyant les textes parasites
voir alors avec

*les fonctions INSTR, INSTRREV, MID$, LEFT$, RIGHT$, REPLACE, JOIN, SPLIT (documentées, [F1])


*ou avec ce code qui peut aider :


'    RÉCUPÉRER UNE CHAÎNE (INCONNUE) PLACÉE ENTRE DEUX CHAÎNES (CONNUES)
'    http://www.codyx.org/snippet_recuperer-chaine-inconnue-placee-entre-deux-chaines-connues_334.aspx#1043
'    Posté par [ PCPT ] le 04/03/2007


Private Function  MyMid( ByRef  Expression  As String , sLeft As String , sRight As String , Optional Start As Long = 1 ) As String
    Dim lPosL As Long, lPosR As Long
    lPosL = InStr(Start, Expression, sLeft): lPosR = InStr(lPosL + 1, Expression, sRight)
    If lPosL > And lPosR > Then
        MyMid = Mid$(Expression, lPosL + Len(sLeft), lPosR - lPosL - Len(sLeft))
    Else
        MyMid = vbNullString
    End If
End Function
'EXEMPLE  D'UTILISATION
Private Sub Form_Load()
    Dim sStr As String
    MsgBox MyMid("<div  align='center'>machin</div>""'>""</")
    Unload Me
End Sub



*ou celui-ci :


'    SPLIT SUR PLUSIEURS CRITÈRES
'    http://www.codyx.org/snippet_split-sur-plusieurs-criteres_233.aspx#754
'    Posté par [ PCPT ] le 19/09/2006


Function  MultiSplit( ByVal  sStr  As String , bKeepSepar As Boolean , ParamArray aArray()) As String ()
'    sStr        -> chaîne à parser
'    bKeepSepar  -> garder ou non les caractères de référence
'    aArray      -> tableau des références de taille variables
    Dim sCol As New Collection
    Dim sChar          As String, sLeft As String
    Dim bFound         As Boolean
    Dim aRes()         As String
    Dim i              As Integer, j As Integer, NbCarac As Integer
    i = 0
    
    While LenB(sStr) > 0
        i = i + 1
        bFound = False
        For j = LBound(aArray) To UBound(aArray)
            NbCarac = Len(aArray(j))
            sChar = Mid$(sStr, i, NbCarac)
            If sChar = CStr(aArray(j)) Then bFound = True: Exit For
        Next j
        If bFound Then
            sLeft = Left$(sStr, i - 1)
            If LenB(sLeft) > Then sCol.Add sLeft
            If bKeepSepar Then sCol.Add sChar
            sStr = Right$(sStr, Len(sStr) - (NbCarac + (i - 1)))
            i = 0
        ElseIf sChar = vbNullString Then
            sCol.Add sStr
            sStr = vbNullString
        End If
    Wend
    ReDim aRes(sCol.Count - 1)
    For i = To sCol.Count
        aRes(i - 1) = sCol.Item(i)
    Next i
    MultiSplit = aRes
    
    Set sCol = Nothing
    Erase aRes
End Function
' EXEMPLE  D'UTILISATION
Private Sub Form_Load()
    Dim a$(), i%
    a = MultiSplit( _
          "Function MultiSplit(ByVal sStr As String, bKeepSepar As Boolean, ParamArray aArray()) As  String()", _
          False"("")"",""String"" ")
    For i = To UBound(a)
        Debug.Print "_" & a(i) & "_"
    Next i
End Sub

'----------------------------------------------------------------
'Remarques :
'mis à jour : supporte les paramètres de différentes tailles
'(au lieu de 1 seul caractère)



*ou passer par les EXpressions REGulières
http://regex.codes-sources.com/

bon courage

Prenez un instant pour répondre à ce sondage svp 


Cette discussion est classée dans : web, page, données, lire


Répondre à ce message

Sujets en rapport avec ce message

Comment lire la source d'une page web ? [ par Clem ] Comment lire la source d'une page web comme www.vbfrance.com ? Lire les données d'une page html [ par sebclick ] Bonjour,J'aimerais créer un petit programme qui me permette de recuperer certaines infos d'un site internet....Mais je ne m'y connais pas encore énorm Recup données sur page web protégés par MDP [ par vialstephane ] Bonjour,j'aimerais savoir comment faire pour acceder a une page web protégée par un login et MDP.Je voudrais récupéré des données d'une pages web ou j A l'aide lire le contenu d'une page web en vbnet [ par titigenki ] bon ben ba voila c ds le sujet.Comment fais ton pour lire le contenu d'une page web avec vbnet? c assez urgentmercide votre aidetitigenki acquérir contenu d'une page web en VBA [ par Marco59000 ] Bonsoir,J'ai grand besoin d'aide, je vous explique. Je dois traiter des données présentes dans une page web (en jsp je crois). Actuellement, je copie Lire et enregistrer le texte d'une page web [ par Papymuzo ] Bonjour. J'aimerai pouvoir lire le texte d'une page web puis l'enregistrer dans un fichier .text (avec un rafraichissement de 10 secondes par exemple) Lire page web + exploiter [ par macgiver159 ] Bonjours,J'aimerais savoir comment lire via VB net le contenue d'une page web et de lui dire de cliquer sur un lien précis qui se trouve sur cette pag Lire une page web [ par Clad49 ] Bonjour !J'aimerai pouvoir récupérer le contenue d'une page web !Sous VB6 j'utlisé une API : InternetOpenUrlJ'aurai voulu savoir si il y avais un autr Lire contenu d'une page web dans WebBrowser [ par allthew3 ] Bonjour,Je cherche à lire la source du fichier contenu dans un WebBrowser :j'ai essayer DocumentStream, DocumentText ... pas moyen !Y'a-t-il un moyen extraire données sur une page web [ par hudon77 ] Bonjour a tous.  Est-ce qu'il existe un objet ou un facon de faire pour extraire des données sur une page web ?Je m'explique:  Je voudrais aller lire


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,945 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales