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

Contribuez Discussion :

Code source d'une page sur le net


Sujet :

Contribuez

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut Code source d'une page sur le net
    bonjour a tous

    voila une toute petite fonction qui peut avoir bien des utilités

    elle récupère le code source d'une page sur le net au format html ou format texte

    voila le code pour la fonction
    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
     
    Option Explicit
    Dim Destination As String  'variable pour le chemin complet du fichier de destination
    Dim l_URL As String        ' variable pour le lien de la page html
    Dim Lapage_en_HTML         'variable pour l'object "Microsoft.XMLHTTP"( l'object XML)
    Dim sourcetext As String  ' varaible pour le texte de sortie au format texte
    Dim texte As String        'variable pour le texte a découpé par les ""chr(13)""
    Dim i As Long              ' variable pour le decompte des lignes dans le texte de sortie en html ou texte
    Public Function GetCodeSource(sURL, Optional au_format_text As Boolean = "false")
        Set Lapage_en_HTML = CreateObject("Microsoft.XMLHTTP")    'instancie l'object
        Lapage_en_HTML.Open "GET", sURL    'ouvre l'url dans l'object
        Lapage_en_HTML.Send
        Do: DoEvents: Loop While Lapage_en_HTML.ReadyState <> 4    'attendre que la page soit chargée
     
        'le code source est dans """"Lapage_en_HTML.ResponseText""""
        'on créé un object "htmlfile"
        With CreateObject("htmlfile")
            'on y ecrit le codesource complet
            .Write Lapage_en_HTML.ResponseText
            'Ici on garde que le texte au format texte( sans les balises)
            sourcetext = .body.innerText
        End With
        'selon si la variable "au_format_text" est a true ou falsele texte de sortie sera en html ou texte
        GetCodeSource = IIf(au_format_text, sourcetext, Lapage_en_HTML.ResponseText)
        sourcetext = ""
    End Function
    veuillez noter que la variable "au_format_text" dans la fonction est "OPTIONAL" c'est cette variable qui nous servira a déterminer le format de sortie lors de son appel


    et voila un exemple d'utilisation :
    nous allons enregistrer le code source dans un fichier texte sur le bureau

    avec les balises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub test1()
        l_URL = "http://www.programme-tv.net/programme/programme-tnt.html"    'la variable l_URL contient le lien de la page html que l'on veux récupérer
        Destination = "C:\users\" & Application.UserName & "\Desktop\code-source-de-lapage.txt"    'la variable destination contient le chemin complet du fichier de destination
    texte = GetCodeSource(l_URL)    'avec les balises(format html)
           Open Destination For Output As #1    'ouverture du nouveau fichier et ecriture de chaque ligne presente dans le texte
        For i = 0 To UBound(Split(texte, Chr(13)))
            Print #1, Split(texte, Chr(13))(i)
        Next
        'fermeture du fichier après écriture
        Close #1
    End Sub
    ou sans les balise(format texte )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub test2()
        l_URL = "http://www.programme-tv.net/programme/programme-tnt.html"    'la variable l_URL contient le lien de la page html que l'on veux récupérer
        Destination = "C:\users\" & Application.UserName & "\Desktop\code-source-de-lapage.txt"    'la variable destination contient le chemin complet du fichier de destination
        texte = GetCodeSource(l_URL, True)    'sans les balises(format texte)
        Open Destination For Output As #1    'ouverture du nouveau fichier et ecriture de chaque ligne presente dans le texte
        For i = 0 To UBound(Split(texte, Chr(13)))
            Print #1, Split(texte, Chr(13))(i)
        Next
        'fermeture du fichier apres ecriture
        Close #1
    End Sub
    bien sur le lien de la page est a renseigner ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     l_URL = "http://www.programme-tv.net/programme/programme-tnt.html"
    voila elle fonctionne parfaitement bien et pour une fois le code est propre et commenté

    qu'en pensez vous ?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir Patrick

    Une question, pourquoi tu as choisi de faire une boucle d'écriture ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 0 To UBound(Split(Texte, Chr(13)))
        Print #1, Split(Texte, Chr(13))(i)
    Next
    Au lieu d'écrire directement

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir mercatog

    figure toi que chez moi ça ne fonctionne pas

    c'est toujours le même problème et pas la première fois tu avais fais déjà la remarque

    mais en effet pour ce qui ont un office bien installé il peuvent enlever les lignes

    cela dit dans cette boucle on peut encore modifier chaque ligne avant qu'elle soit écrite
    d'ailleurs c'est comme ça que je l'utilise dans mon cas afin de supprimer tout les mot qui ne me serve pas


    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour Patrick
    pas la première fois tu avais fais déjà la remarque
    Ne prends pas ma petite remarque comme une remarque pure et simple
    Mais dans le sens d'améliorer tes précieuses contributions.

    Tu conçois que réfléchir ensemble mieux que de réfléchir en solitaire et cela n'enlève en aucun cas tes mérites.
    Tu conçois aussi que tu as fais (selon moi) d'un grand progrès surtout au niveau des déclarations des variables et de l'indentation de tes jolis codes.

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour mercatog

    non rassure toi je ne prend rien en mal

    ce que je voulais dire c'est que dans des anciennes discutions on avait déjà abordé ce souci que j'ai d'avoir certaines fonctions natives vba qui déconne un peu je n'ai plus mon disque office 2007 par contre j'ai toujours ma licence
    je n'arrive pas a en telecharger un complet

    surtout depuis que j'ai installé visualstudio2008 express une vrai connerie ce machin

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut Patou, pour abonder dans le même sens que Mercatog, je constate une meilleure lisibilité du code ainsi qu'une orthographe plus orthodoxe.

Discussions similaires

  1. Comment recuperer le code source d une page HTML distante en javascript
    Par herbert dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/07/2006, 22h26
  2. [W3C] le code source d'une page
    Par audax dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/06/2006, 13h02
  3. Acceder au code source d'une page extérieure
    Par duplo dans le forum Langage
    Réponses: 6
    Dernier message: 28/05/2006, 01h19
  4. [FLASH MX2004 PRO] Recuperer le code source d'une page
    Par adilou1981 dans le forum Flash
    Réponses: 9
    Dernier message: 26/07/2005, 18h11
  5. Récupérer le code source d'une page web
    Par glRaZ dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/12/2004, 09h16

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