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

C Discussion :

Récupérer une info dans une page web en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2020
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 42
    Par défaut Récupérer une info dans une page web en C
    Bonjour,
    Je voudrai bien récupérer une info dans une page web faire de l'incorporé dans mon programme.
    Je suis sous Windows et mon prof m'a dit d'utiliser system("curl nomdusite" | findstr ce_que_je_cherche"). Cepeandant cela ne marche pas . Mon programme tourne dans le vide...
    J'ai vu qu'on pouvait utiliser les sockets mais ca ne semble pas évident ...
    Savez-vous comment faire ?
    Bapth

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par défaut
    Oui curl est le plus simple, et ça ne marche pas n'a jamais été un diagnostic d'erreur.
    Autant dire que si utiliser curl est trop compliqué, alors utiliser des sockets pour crafter une requête http est clairement hors de portée.
    Peut-on voir du code, des erreurs, ou quoi que ce soit qui pourrait aider à comprendre ce que tu fais, ce qui échoue et pourquoi ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2020
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 42
    Par défaut
    Bonjour,
    Merci pour ta rapide.
    Je veux récupérer les infos d'un site donnant le nombre de cas de coronavirus en France et extraire que le nombre de cas. Voici le 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
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <stdbool.h>
    #include <conio.h> 
    #include <windows.h>
    #include <dirent.h> 
    #include <dirent.h> 
     
     
    int main(){
     
     
        //FILE * fichier = fopen("test.txt","r");
        char a[]="1&nbsp;807&nbsp;479"; char test[100];
        char t1[10], t2[20],t3[20];
        char user[2000] = {0};
     
     
     
        user[100000] = system("curl https://www.coronavirus-statistiques.com/ | findstr France ");
        printf("%s", user); //Affiche tout le curl
     
    /* affiche que le nombre de cas */
        printf("%c ",user[0]); 
        printf("%c",user[7]); printf("%c",user[8]); printf("%c ",user[9]);
        printf("%c",user[16]); printf("%c",user[17]); printf("%c",user[18]);
     
        return 0;
    }
    Voila j'espère que c'est compréhensible.
    @+
    Bapth

  4. #4
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 736
    Par défaut
    Bonjour.

    Ce que tu cherches à faire s'appelle du Web scraping, et c'est plutôt considéré comme une mauvaise pratique. L'interface web est prévue pour être montrée à des utilisateur humains, pas à être traitée par des programmes. Après c'est pas impossible, mais le C n'est clairement pas la meilleure façon de faire.

    En revanche tu as de la chance, ces données sont librement disponibles en Open Data, au format CSV ou JSON ici : https://www.coronavirus-statistiques.com/open-data/

    Ça répond justement à ton besoin, et c'est beaucoup plus facile à traiter.

  5. #5
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2020
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 42
    Par défaut
    Merci beaucoup j'avais pas pensé à faire cela mais comment il faut faire pour télécharger un fichier sur le web en C ?
    @+

  6. #6
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 736
    Par défaut
    Tu peux le faire en C, avec les sockets, mais puisque tu as curl autant l'utiliser.

    Par exemple, tu télécharges (une fois par jour ?) le fichier CSV, puis tu le traites avec ton programme en C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    curl https://www.coronavirus-statistiques.com/corostats/openstats/open_stats_coronavirus.csv > data.csv)
    mon_programme data.csv
    Après il faut manipuler du texte dans ton programme.

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

Discussions similaires

  1. Récupérer une page web en vb.net
    Par xantra dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/07/2009, 00h03
  2. Récupérer une page web complète (code+images+..)
    Par cutemeister dans le forum Général Java
    Réponses: 9
    Dernier message: 29/04/2009, 13h37
  3. Réponses: 3
    Dernier message: 10/03/2009, 13h09
  4. Récupérer une page Web distante via Post
    Par Mike Reason dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2008, 09h22
  5. [C++][Linux & Windows] Récupérer une page web
    Par Invité4 dans le forum C++
    Réponses: 4
    Dernier message: 06/04/2006, 19h21

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