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 :

Recuperer une valeur d'un site web


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Points : 9
    Points
    9
    Par défaut Recuperer une valeur d'un site web
    Bonjour, je voudrais que quand je lance mon programme le nombre du haut soit initialisé au nombre surligné mais je ne trouve pas comment faire
    Nom : Capture1.PNG
Affichages : 172
Taille : 78,5 Ko
    Voilà le script qui me permet d'avoir le nombre surligné qui provient du site populationmondiale.com
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="http://www.populationmondiale.com/population/clockjs.php?aff=1&lang=fr&cpop=FFFFFF&size=14&cclock=C0C0C0" type="text/javascript" id="monsite"></script>

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut


    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
    window.addEventListener('load', ev => {
        // le DOM est construit et la page web est visible
     
        // début code du test
     
        const elemPop = Array.from(document.querySelectorAll('a[href="http://www.populationmondiale.com"]'))[1].textContent.slice(0, -10);
     
        console.log(`elemPop = ${ elemPop }`); // elemPop =  7 648 919 484
     
        // fin code du test
     
    }, {
    capture: false,
    passive: true,
    once: false
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup pour ta réponse, je récupère bien le nombre ! Par contre j'ai une dernière question, comment faire pour que ce nombre soit mis dans une variable quand je démarre la page
    car quand je met : mavariable = elemPop;
    Cela me met :
    Nom : Capture.JPG
Affichages : 113
Taille : 9,3 Ko

  4. #4
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Points : 90
    Points
    90
    Par défaut
    Elempop est déjà une variable , c'est une constante.
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    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
    window.addEventListener('load', ev => {
        // le DOM est construit et la page web est visible
     
        // début code du test
     
        const elemPop = Array.from(document.querySelectorAll('a[href="http://www.populationmondiale.com"]'))[1].textContent.slice(0, -10);
     
        alert(`elemPop = ${ elemPop }`); // elemPop =  7 648 919 484
     
        populationActuelleFr = 0;
     
        const
            elemTimer = document.querySelector('#timer'),
            elemTimerFr = document.querySelector('#timerFr');
     
     
        function augmenterMonde() {
            elemTimer.textContent = elemPop;
            populationActuelleMondiale = elemPop;
            populationActuelleMondiale += 1;
        }
     
        function augmenterFr() {
            populationActuelleFr += 0.02;
            elemTimerFr.textContent = (new Intl.NumberFormat().format(Math.round(populationActuelleFr))); //new Intl.NumberFormat().format(lenombre) = séparateur de milliers
        }
     
        setInterval(augmenterMonde, 1000 / 2.7);
        setInterval(augmenterFr, 1000);
     
        // fin code du test
     
    }, {
        capture: false,
        passive: true,
        once: false
    });
    Quand je fais ce code le timer s'initialise bien à la valeur de elemPop mais ne s'incrémente pas du tout ^^

  6. #6
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Points : 90
    Points
    90
    Par défaut
    Je m'y connais aps vraiment , mais sachant qu'une constante ne change pas , je ne suis pas sûr qu'elle puisse être incrémenté , après je dis peut etre nimp
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    Même en mettant var à la place de const, ça ne change rien, je vais chercher ce que je peux faire du coup ^^

  8. #8
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Points : 90
    Points
    90
    Par défaut
    Vérifie tes variables , grâce à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script>
    console.log();
    </script>
    et fait F12 sur la page et regarde dans la console.
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    UPDATE : je pense que c'est parce que elemPop est considérée comme une chaine de caractères et non un nombre entier alors en essayant de convertir elemPop avec soit parseInt ou même parseFloat, il ne me prend que le 1er chiffre : le "7", le compteur marche mais à partir du nombre 7 et non du nombre "7 649 153 832", si quelqu'un a une solution :/ (avec Number(elemPop) il me renvoit NaN)
    Je remet mon code :
    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
    window.addEventListener('load', ev => {
        // le DOM est construit et la page web est visible
     
        // début code du test
     
        var elemPop = document.querySelectorAll('a[href="http://www.populationmondiale.com"]')[1].textContent.slice(0, -10);
     //   alert(elemPop);
       // alert(`elemPop = ${ elemPop }`); // elemPop =  7 648 919 484
        populationActuelleFr = 0;
        populationActuelleMondiale = parseFloat(elemPop);
     
        var
            elemTimer = document.querySelector('#timer'),
            elemTimerFr = document.querySelector('#timerFr');
     
     
        function augmenterMonde() {
     
            populationActuelleMondiale += 1;
            elemTimer.textContent = populationActuelleMondiale;
           // elemPop += 1 ;
        }
     
        function augmenterFr() {
            populationActuelleFr += 0.02;
            elemTimerFr.textContent = (new Intl.NumberFormat().format(Math.round(populationActuelleFr))); //new Intl.NumberFormat().format(lenombre) = séparateur de milliers
        }
     
        setInterval(augmenterMonde, 1000 / 2.7);
        setInterval(augmenterFr, 1000);
     
        // fin code du test
     
    }, {
        capture: false,
        passive: true,
        once: false
    });
    Avec ce code cela ne renvoit que le 7 du nombre "7 649 153 832".

  10. #10
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    je pense que c'est parce que elemPop est considérée comme une chaine de caractères
    oui, tu récupères une chaine de caractères qui comporte des espaces mais pas un nombre, il te faut donc
    • supprimer les espaces de cette chaine (il existe plusieurs méthodes pour le faire)
    • récupérer/convertir la valeur pour avoir un nombre (cela peut être le boulot de parseInt)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // récup. de la chaine comme fait par danielhagnoul mais sans le slice
    const elemPop = Array.from(document.querySelectorAll('a[href="http://www.populationmondiale.com"]'))[1].textContent;//.slice(0, -10);
    // suppression des espaces et let et non const ici
    let valeur = elemPop.split(" ").join("");
    // récup. sous forme d'un nombre
    valeur = parseInt( valeur, 10);

  11. #11
    Membre régulier Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Points : 90
    Points
    90
    Par défaut
    Une chaine de caractères ne peut pas être incrémentée.
    Il faut implémenter une fonction qui parcourt la chaine et modifie chaque caractère en fonction de celui qui le précède.
    Bon courage !
    “L’homme est la mesure de toute chose” Protagoras
    "Goutte après goutte l'eau finit par creuser le marbre"

    Pensez à mettre !
    Si un message vous a aidé , pensez à mettre !

    Mon Twitter
    Ma Veille Techno

  12. #12
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup ça marche ! Merci à tous pour vos réponses

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

Discussions similaires

  1. Recuperer reponses d'une requete d un site web
    Par I.Love.C dans le forum Débuter
    Réponses: 2
    Dernier message: 19/10/2011, 12h01
  2. Recuperation d 'une valeur dans le fichier web.config
    Par kaskroute dans le forum ASP.NET
    Réponses: 15
    Dernier message: 31/01/2011, 12h44
  3. Recherche d'une valeur dans un site web
    Par mazuno dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/08/2010, 14h56
  4. Réponses: 3
    Dernier message: 02/04/2008, 13h30
  5. Recuperer une valeur en Perl sur un site
    Par lnegri dans le forum Web
    Réponses: 10
    Dernier message: 11/07/2005, 21h33

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