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

JavaScript Discussion :

Récupérer une page html dynamique


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Par défaut Récupérer une page html dynamique
    Bonjour,

    J'aimerai pouvoir récupérer entièrement et l'enregistrer en local une page html dynamique, après qu'elle soit complètement affichée.

    Je balbutie avec javascript et si j'arrive à suivre un code javascript objet, je suis encore incapable d'en écrire.

    Par la suite, une fois le script fonctionnel, j'essayerai d'en faire une extension personnelle pour firefox.

    J'ai demandé à mistral, mais je n'ai pas su comment faire ma demande pour avoir une réponse cohérente.

    J'ai collecté quelques infos, voir ci-dessous en désordre, mais je ne comprends pas vraiment comment les organiser.

    https://romainlebreton.github.io/R.4...es/class3.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    document.addEventListener("DOMContentLoaded", 
      function() {
        // code qui nécessite le chargement complet du DOM 
    });
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    While Browser.readyState <> READYSTATE_COMPLETE
            DoEvents
    Wend 
     
    WebBrowser.DocumentCompleted
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script defer src="https://....."></script>

    J'ai compris le fonctionnement de cette fonction et je la modifierai pour mon besoin final.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     function save() {
        var param1 = document.getElementById("param1").value,
          param2 = document.getElementById("param2").value,
          data = JSON.stringify({ p1: param1, p2: param2 })
        document.location = "data:text/csv;base64," + btoa(data)
      }
    Merci d'avoir pris le temps de me lire.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 270
    Par défaut Besoin de précision
    Bonjour;
    l'enregistrer en local une page html dynamique
    Du web scrapping ?

    Tu peux mettre un DOMContentLoaded mais aussi utilisé ceci en fonction du besoin ( si tu connais pas voici ):
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script defer src=""></script>
    <script async src=""></script>
    Un petite déf
    https://www.alsacreations.com/astuce/lire/1562-script-attribut-async-defer.html

    Si cela consiste à récupéré des infos présents dans des buttons / div etc ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelector(tonSelector).value // ou textContent ou innerHtml en fonction de ce que tu manipules.
    J'en viens quand même à me demander à quoi ressemble ta page et ou sont les questions ...

    Cdt
    Un problème sans solution est un problème mal posé. (Albert Einstein)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Par défaut
    Bonjour Gaby7756,

    Merci pour votre réponse.

    J'avais déjà lu et compris la différence entre async et defer, c'est pour ça que je ne parlais que de defer, puisque je veux toute la page dynamique complète.

    Je ne connaissais pas le mot scrapping.
    En quelque sorte oui, ce doit être ça.

    La sélection du contenant pour obtenir son contenu, je sais faire avec document.getElementByXXX et je ferai un essai avec document.queryselector.

    Ma question reformulée : "Comment récupérer dans une variable javascript une page html dynamique dans son intégralité, après qu'elle soit complètement affichée ?"

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 270
    Par défaut
    'avais déjà lu et compris la différence entre async et defer, c'est pour ça que je ne parlais que de defer, puisque je veux toute la page dynamique complète.
    My bad j'avais pas vu


    Renseigne toi si tu as le droit de faire du web scrapping à tout va ...

    Comment récupérer dans une variable javascript une page html dynamique dans son intégralité, après qu'elle soit complètement affichée ?
    Sans recherche j'aurai dit ca :
    Qui peut se récupérer de moulte façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    document.documentElement
    document.documentElement.innerHtml
    // Que le body
    document.body
    // Si tu sais déjà que tu veux récupérer un tableau html
    document.querySelector('#idTab').innerHtml
    Bref j'ai l'impression que y a autant d'exemple que l'imagination nous laisse :')

    Cdt

    Edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var bodyHtml = document.body // Sous format html
    var bodyString = document.body.innerHtml // Sous format string 
    var bodyText = document.body.innerText // Que le texte présent dans la page ...
    Un problème sans solution est un problème mal posé. (Albert Einstein)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Par défaut
    Merci pour les exemples pour récupérer le contenu sous divers formats.

    Je ne cherche pas à faire du scrapping à tout va, c'est juste pour compléter un fichier json gratuitement téléchargeable comme un bulletin météo, et récupérer si besoin sur un autre site quelques infos complémentaires.

    Disons que le site est par exemple "https://www.unepage.dunsite.com/info.html"
    Cpmment capturer la page complète info.html avec les fonction, listener etc ?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 657
    Billets dans le blog
    1
    Par défaut
    et récupérer si besoin sur un autre site quelques infos complémentaires.
    Avec le consentement du propriétaire du site ?
    En général lorsque le propriétaire propose des informations en libre service c'est sous forme de json, de flux etc ...
    Si les informations complémentaires ne sont pas fournies dans le Json, c'est peut être une volonté du propriétaire.
    Parser une page affichée pour en récupérer des données me semble très limite légalement.
    gabi7756 à tout a fait raison de te conseiller de demander une autorisation expresse du propriétaire pour l'utilisation de ces données complémentaires
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Par défaut
    Quand on va se renseigner sur une voiture, il n'y a personne dans le magasin pour vous moraliser sur le fait qu'il faudra respecter les limitations de vitesse où que c'est un véhicule polluant. Pareil si vous acheter une puissante chaine hifi avec le le volume sonore et le respect des voisins !

    J'ai donc posé plusieurs questions à différentes AI gratuites, j'ai obtenue des réponses rapides que j'ai adaptées à mon besoin.

    A bon entendeur...

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 657
    Billets dans le blog
    1
    Par défaut
    Du moment que c'est fait en connaissance de cause ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Comment créer une page HTML à partir du code behind ?
    Par totoche9 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 01/08/2006, 14h52
  2. [HTML] HTML Comment imbriquer une page HTML dans une autre page
    Par Gerard du Bouchonnois dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 15/06/2006, 18h11
  3. comment intégrer une page html dans swf?
    Par jeanman dans le forum Intégration
    Réponses: 3
    Dernier message: 10/05/2006, 20h36
  4. Comment générer des pages HTML dynamiques ?
    Par Devil666 dans le forum Java EE
    Réponses: 2
    Dernier message: 15/04/2005, 11h56
  5. [VB.Net] Comment generer une page html dynamiquement ?
    Par Anonymous dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/03/2003, 11h22

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