Récupérer certaines choses du'une page web en php

Résolu
xml74 Messages postés 186 Statut Membre -  
xml74 Messages postés 186 Statut Membre -
Bonjour, c'est assez simple ce que je cherche à faire.
J'aimerai récupérer certaines choses d'un site et y mettre sur mon site.
https://osu.ppy.sh/rankings/osu/performance?country=FR
Sur cette page j'aimerai tout simplement récupérer les 10 premiers de la liste, avec toutes les informations.
J'aurai pensé à faire une page php qui récupère automatiquement la page web et qui prend certains éléments et en fait une variable. l
Le mieux serais donc de faire en sorte que les variables sur ma page soit en permanence actualisé..
Merci d'avance

2 réponses

  1. HubertJ. Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   23
     
    Bonjour,

    Pour récupérer des informations sur une page tu as globalement deux solutions :

    Grace au fonctions file_get_contents ( https://www.php.net/manual/fr/function.file-get-contents.php ) tu peux déjà récupérer facilement le code HTML d'une page, puis grâce notamment a la fonctions preg_match_all ( https://www.php.net/manual/fr/function.preg-match-all.php ) tu peux avec des regex ( expression régulière ) extraire des données. Attention tout de même les regex sont pas évidantes à maitriser pour un débutant.

    L'autre solution c'est d'utiliser des librairies spécialement conçue. Une que j'affectionne particulièrement est fabpot/goutte ( https://github.com/FriendsOfPHP/Goutte ).

    ++
    1
  2. xml74 Messages postés 186 Statut Membre 1
     
    Merci mais est-ce possible de me faire un code à la rache car en php je suis vraiment débutant..
    0
    1. HubertJ. Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   23
       
      En gros ça donnera quelques choses proche de ça :
      <?php

      $source = file_get_contents('https://osu.ppy.sh/p/pp/?c=FR&m=');

      // Extraction de chaque ligne
      preg_match_all("#RegexPerso#", $source, $extractLine);

      $data = array();
      // Boucle sur chaque ligne
      foreach ($extractLine[...] as $line) {
      // Extraction de chaque données
      preg_match_all("#RegexPerso2#", $line, $extractData);

      // Ajout des donnée de la ligne au tableau $data
      $data[] = array(
      'Player Name' => $extractData[...],
      'Accuracy' => $extractData[...],
      'Play Count' => $extractData[...]
      ...
      );
      }

      print_r($data);

      ?>

      Bien-sûr ce code ne marche pas mais ça te donne une idée de la démarche, à toi de terminer le travail :)
      0
    2. xml74 Messages postés 186 Statut Membre 1
       
      je comprend rien au code :'(
      0
    3. xml74 Messages postés 186 Statut Membre 1
       
      tout ce que j'arrive à comprendre c'est:
      $source = file=get_contents qui récupère la page
      0
    4. HubertJ. Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   23
       
      Ah, je pourrais pas tout coder à t'as place, regarde les fonctions dans la doc PHP regarde comment elle marche et n'hésite pas et lire des tuto en ligne, il y en a des super sur le site Open Class Room, regarde surtout la section "épression régulère", c'est grâce à elle que tu pourras extraire des données de n'importe quel document.
      0
    5. xml74 Messages postés 186 Statut Membre 1
       
      D'accord merci
      0