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

Langage PHP Discussion :

Script PHP pour récupérer des données d'un site publique


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Script PHP pour récupérer des données d'un site publique
    Bonjour,

    Je cherche à créer un script PHP pour récupérer des données qui m’intéresse.
    Cela est pour un projet perso, il n'est donc pas question de plagiat ou de copie privée.

    Je souhaite créer un script qui permet de récupérer des données d'un site web.
    Il y a 2 pages à prendre en compte. Page A et page B

    Sur la page A : Il y a un formulaire avec une liste déroulante
    Sur la Page B: Il y a un tableau avec les données que je souhaite récupérer.

    En démarrant sur la Page B : Action retour page précédente (retour à la page A)
    sur la page A : prendre la ligne suivante dans la liste déroulante ( copier la ligne de la liste déroulante dans ma bdd ou excel) puis valider (valide ouvre la page B)
    sur la page B : copier coller le tableau et l'enregistrer dans ma bdd ou excel.
    Action retour page précédente (retour à la page A)...
    et ainsi de suite, pour récupérer toute la base.

    J'aurais donc 2 colonnes dans ma base de données à la fin
    colonne 1 : linge de la liste déroulante
    colonne 2 : tableau de resultat

    Merci pour votre aide, je débute en programmation, je n'ai donc aucune idée de comment faire cela.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Interesse toi à cURL pour reproduire des envois de formulaire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable d’équipe
    Inscrit en
    Août 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable d’équipe

    Informations forums :
    Inscription : Août 2003
    Messages : 27
    Points : 23
    Points
    23
    Par défaut
    Salux,

    Voici un exemple commenté :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php
     
    //La page qu'on veut utiliser
    $wikipediaURL = 'http://fr.wikipedia.org/wiki/Linux';
     
    //On initialise cURL
    $ch = curl_init();
    //On lui transmet la variable qui contient l'URL
    curl_setopt($ch, CURLOPT_URL, $wikipediaURL);
    //On lui demdande de nous retourner la page
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //On envoie un user-agent pour ne pas être considéré comme un bot malicieux
    curl_setopt($ch, CURLOPT_USERAGENT, 'Google');
    //On exécute notre requête et met le résultat dans une variable
    $resultat = curl_exec($ch);
    //On ferme la connexion cURL
    curl_close($ch);
     
    //On crée un nouveau document DOMDocument
    $wikipediaPage = new DOMDocument();
    //On y charge le contenu qu'on a récupéré avec cURL
    $wikipediaPage->loadHTML($resultat);
     
    //On parcourt les balises <div>
    foreach($wikipediaPage->getElementsByTagName('div') as $div){
        //Si l'id de la page est bodyContent
        if($div->getAttribute('id') == "bodyContent"){
     
            //On met le contenu du premier <p> dans une variable
            $premierP = trim($div->getElementsByTagName('p')->item(0)->nodeValue);
            //Si le premier <p> est vide ou ne contient pas du texte
            while($premierP == '<br>' || $premierP == '<br />' || $premierP == ''){
                //On le supprime
                $div->removeChild($div->getElementsByTagName('p')->item(0));
                //Et on passe au <p> suivant
                $premierP = trim($div->getElementsByTagName('p')->item(0)->nodeValue);
            };
     
            //Un joli try pour éviter les messages d'erreur
            try{
                //On parcourt toutes les tables
                foreach( $div->getElementsByTagName('table') as $table ){
                    //Et on les supprime
                    $div->removeChild($table);
                }
            } catch(Exception $e){
                //On censure :P
            }
     
            //On récupère le contenu de la fameuse balise <p> dans une variable
            $description = '<p>' . $div->getElementsByTagName('p')->item(0)->nodeValue. '</p>';
        }
    }
     
    //On enlève la syntaxe propre à Wikipedia
    $description = preg_replace('/\[[0-9]*\][,]|\[[0-9]*\]/', '', $description);
     
    //On affiche de résultat
    echo $description;
     
    ?>
    GaLaGaNN

Discussions similaires

  1. [SP-2010] Script Powershell pour récupérer des données
    Par jip31 dans le forum SharePoint
    Réponses: 1
    Dernier message: 28/04/2015, 14h21
  2. [MySQL] Requêtes pHp pour récupérer des données de la BDD
    Par 69Pierre dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 20/10/2014, 17h04
  3. automate pour récupérer des données sur un site web
    Par castor75 dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2008, 19h59
  4. Réponses: 1
    Dernier message: 14/03/2007, 13h08
  5. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

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