Récupérer une partie des données d'une page WEB

Fermé
thib25 Messages postés 6 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 juin 2017 - 6 juin 2017 à 18:41
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 - 7 juin 2017 à 12:06
Bonjour à tous,

L'objectif de mon projet et de copier l'ensemble des matchs de la saison de L1 dans une base donnée.

Pour ce faire, j'ai pensé à programmer quelque chose en PHP afin de lire les données d'une page WEB puis toujours en PHP de les insérer dans ma base de donnée.
Pour avoir le calendrier des matchs, je pensais utiliser ce site qui je trouve à l'avantage d'avoir une URL facile : http://www.madeinfoot.com/ligue-1/saison/2016-2017/l1-journee-1.html
(ou depuis https://www.flashscore.fr/football/france/ligue-1/ -> mais me semble plus compliqué)

Les données à récupérer sont : date, horaire, équipes (domicile/extérieur), score (équipe à domicile/extérieur -> une fois le match joué, NULL sinon)

ainsi mon algorithme simplifier ferait ceci

choisir saison : $saison
pour journée 1 à 38 ($num_journée) faire
lire et copier les matchs de http://www.madeinfoot.com vers Base de Données

Il faudrait que je récupère les valeur sous forme de tableau j'imagine

J'ai essayé avec file_get_contents() mais je récupère toute la page, il faudrait que je puisse spécifier la partie que je veux récupérer.

Si quelqu'un pouvais m'aider à récupérer juste les données voulues, ou peut-être qu'il existe une autre solution plus facile sans utiliser PHP ?

Merci d'avance pour votre aide

2 réponses

dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
6 juin 2017 à 20:06
Bonjour,

J'avais posé une question similaire et trouvé la solution en novembre 2016 :

https://forums.commentcamarche.net/forum/affich-34109417-occurence-dans-chaine-de-caracteres
1
thib25 Messages postés 6 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 juin 2017
6 juin 2017 à 20:19
merci, je regarde comment je peux adapter
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > thib25 Messages postés 6 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 juin 2017
6 juin 2017 à 20:33
En principe, avec ce code, ça fonctionne :

<?php
$site = file_get_contents('http://www.madeinfoot.com/ligue-1/saison/2016-2017/l1-journee-1.html');

$annonces = substr($site, strpos($site, '<section class="contenu pull-left" id="une">'), -18612);

echo $annonces;
?>
0
thib25 Messages postés 6 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 juin 2017 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
6 juin 2017 à 21:05
Voici comment je m'y suis pris

<?php
$site = file_get_contents('http://www.madeinfoot.com/ligue-1/saison/2016-2017/l1-journee-1.html');
$dif=strpos($site, '<div class="outbrain-tm" id="1027-16">')-strpos($site, '<div class="row media">');
$annonces = substr($site, strpos($site, '<div class="row media">'), $dif);
echo $annonces;
?>
0
thib25 Messages postés 6 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 juin 2017
6 juin 2017 à 20:41
super merci bien ! j'ai réussi à cibler les données souhaitée !!! je vais maintenant chercher une manière de les exploiter pour enregistrer dans une BDD
0