Bonjour,
J'essai d'extraire certaine donnée présente dans le code source d'une page web mais je suis complètement bloqué car je ne sais pas quelle méthode utilisé.
Je souhaite extraire des données simple tels que le nom du produit (<h1 itemprop="name">),Le descriptif simple (<h3 style=), la référence fournisseur (<input type="hidden" name="id_product" value="),la disponibilité (<span id="availability_value" class="available">). Ce n'est pas exhaustif.
Après recherche sur internet je me retrouve avec 2 pistes :
1ère piste : Extraire le code source (attention il faut installer un complément de macro du site excel-pratique.com)
Cette solution me permet d'obtenir le code source de la page web indiqué et avoir chaque ligne de code présent sur une ligne. (résultat vous avez votre code source sur 5-6000 lignes excel. C'est plutôt un bon résultat dans la mesure ou je ne recherche que des données qui ne sont présente qu'une seule fois dans le code source. Sauf pour le descriptif simple lorsque j'ai plusieurs lignes de descriptif mais je pense que cela reste gérable.
2ème piste: Voici un code qui permet d'identifier si une adresse URL est valide. Je m'en sers dans une boucle pour nettoyer mon site web des références qui ne sont plus commercialisé par mon fournisseur. Je me demande si il est possible de l'adapter pour aller piocher des informations dans le code source d'une page web.
Conclusion : Je ne sais pas vers quel piste m'orienter. Je me demande aussi si il existe une façon de faire qui permettrai de piocher les données en tapant un chemin du genre : <head>/<title> = "Concentré Classic Crème de Leche 30ml - CDC
Ci-dessous une portion du code source de la page :
Merci pour votre aide
J'essai d'extraire certaine donnée présente dans le code source d'une page web mais je suis complètement bloqué car je ne sais pas quelle méthode utilisé.
Je souhaite extraire des données simple tels que le nom du produit (<h1 itemprop="name">),Le descriptif simple (<h3 style=), la référence fournisseur (<input type="hidden" name="id_product" value="),la disponibilité (<span id="availability_value" class="available">). Ce n'est pas exhaustif.
Après recherche sur internet je me retrouve avec 2 pistes :
1ère piste : Extraire le code source (attention il faut installer un complément de macro du site excel-pratique.com)
VB:
Sub extraction_du_code_source()
Dim L As Worksheet, P As Worksheet, adresse_URL As String
Set L = Worksheets("Liste") 'Je définie mon onglet liste par L
Set C = Worksheets("code source") 'Je définie mon onglet code source par C
adresse_URL = L.Cells(2, 1) 'L'adresse URL se trouve dans la feuille L (liste), deuxième ligne, première colonne
codeHtml = htmlCodePage(adresse_URL) 'j'affecte ma variable adresse URL
Sheets("code source").Activate 'J'active la feuille ou je veux les données
codeHtml = Split(codeHtml, Chr(10)) 'Division par ligne de code
For i = 0 To UBound(codeHtml)
Cells(i + 1, 1) = codeHtml(i)
Cette solution me permet d'obtenir le code source de la page web indiqué et avoir chaque ligne de code présent sur une ligne. (résultat vous avez votre code source sur 5-6000 lignes excel. C'est plutôt un bon résultat dans la mesure ou je ne recherche que des données qui ne sont présente qu'une seule fois dans le code source. Sauf pour le descriptif simple lorsque j'ai plusieurs lignes de descriptif mais je pense que cela reste gérable.
2ème piste: Voici un code qui permet d'identifier si une adresse URL est valide. Je m'en sers dans une boucle pour nettoyer mon site web des références qui ne sont plus commercialisé par mon fournisseur. Je me demande si il est possible de l'adapter pour aller piocher des informations dans le code source d'une page web.
VB:
Public Function URLexiste(URLaVerifier As String) As Boolean
'par Excel-Malin.com ( https://excel-malin.com )
On Error GoTo Erreur
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "HEAD", URLaVerifier, False
oXHTTP.Send
URLexiste = (oXHTTP.Status = 200)
Exit Function
Erreur:
URLexiste = False
End Function
Sub VerificationAdresseURL()
'par Excel-Malin.com ( https://excel-malin.com )
Dim URLTest As String
URLTest = "https://excel-malin.com/a-propos/"
If URLexiste(URLTest) = True Then
MsgBox "Cette adresse web existe..."
Else
MsgBox "Cette adresse web n'existe pas ou n'est pas accessible..."
End If
End Sub
Conclusion : Je ne sais pas vers quel piste m'orienter. Je me demande aussi si il existe une façon de faire qui permettrai de piocher les données en tapant un chemin du genre : <head>/<title> = "Concentré Classic Crème de Leche 30ml - CDC
Ci-dessous une portion du code source de la page :
<head> | |
<meta charset="utf-8" /> | |
<title> Concentré Classic Crème de Leche 30ml - CDC</title> |
Merci pour votre aide
Dernière édition: