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

  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 : 38
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 158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Belgique

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

    Informations forums :
    Inscription : février 2009
    Messages : 6 158
    Points : 22 267
    Points
    22 267
    Billets dans le blog
    63

    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



    Nota bene : si vous devez être compatible avec les navigateurs obsolètes (IE8 et plus), vous devez convertir les codes ES2015 en ES5 avec Babel.

    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 : 29
Taille : 9,3 Ko

  4. #4
    Nouveau membre du Club Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    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 : 60
    Points : 39
    Points
    39

    Par défaut

    Elempop est déjà une variable , c'est une constante.
    “L’homme est la mesure de toute chose” Protagoras

    Pensez à mettre !

  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
    Nouveau membre du Club Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    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 : 60
    Points : 39
    Points
    39

    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

    Pensez à mettre !

  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
    Nouveau membre du Club Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    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 : 60
    Points : 39
    Points
    39

    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

    Pensez à mettre !

  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
    13 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 13 747
    Points : 33 403
    Points
    33 403

    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
    Nouveau membre du Club Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    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 : 60
    Points : 39
    Points
    39

    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

    Pensez à mettre !

  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