Récupérer certaines choses du'une page web en php [Résolu/Fermé]

Signaler
Messages postés
161
Date d'inscription
samedi 29 novembre 2014
Statut
Membre
Dernière intervention
14 avril 2017
-
xml74
Messages postés
161
Date d'inscription
samedi 29 novembre 2014
Statut
Membre
Dernière intervention
14 avril 2017
-
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/p/pp/?c=FR&m=
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

Messages postés
38
Date d'inscription
jeudi 21 avril 2016
Statut
Membre
Dernière intervention
8 mai 2016
19
Bonjour,

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

Grace au fonctions file_get_contents ( http://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 ( http://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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 77621 internautes nous ont dit merci ce mois-ci

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