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

Résolu/Fermé
xml74 Messages postés 161 Date d'inscription samedi 29 novembre 2014 Statut Membre Dernière intervention 14 avril 2017 - 23 avril 2016 à 12:36
xml74 Messages postés 161 Date d'inscription samedi 29 novembre 2014 Statut Membre Dernière intervention 14 avril 2017 - 23 avril 2016 à 19:11
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

HubertJ. Messages postés 38 Date d'inscription jeudi 21 avril 2016 Statut Membre Dernière intervention 8 mai 2016 23
23 avril 2016 à 12:44
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
xml74 Messages postés 161 Date d'inscription samedi 29 novembre 2014 Statut Membre Dernière intervention 14 avril 2017 1
23 avril 2016 à 14:11
Merci mais est-ce possible de me faire un code à la rache car en php je suis vraiment débutant..
0
HubertJ. Messages postés 38 Date d'inscription jeudi 21 avril 2016 Statut Membre Dernière intervention 8 mai 2016 23
23 avril 2016 à 14:46
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
xml74 Messages postés 161 Date d'inscription samedi 29 novembre 2014 Statut Membre Dernière intervention 14 avril 2017 1
23 avril 2016 à 17:13
je comprend rien au code :'(
0
xml74 Messages postés 161 Date d'inscription samedi 29 novembre 2014 Statut Membre Dernière intervention 14 avril 2017 1
23 avril 2016 à 17:20
tout ce que j'arrive à comprendre c'est:
$source = file=get_contents qui récupère la page
0
HubertJ. Messages postés 38 Date d'inscription jeudi 21 avril 2016 Statut Membre Dernière intervention 8 mai 2016 23
23 avril 2016 à 19:10
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
xml74 Messages postés 161 Date d'inscription samedi 29 novembre 2014 Statut Membre Dernière intervention 14 avril 2017 1
23 avril 2016 à 19:11
D'accord merci
0