Récupérer contenu d'une page web
lolonaute97
Messages postés
31
Statut
Membre
-
lolonaute97 Messages postés 31 Statut Membre -
lolonaute97 Messages postés 31 Statut Membre -
Bonjour à tous les développeurs,
Voila, en fait j'aimerais afficher le contenu de l'encadré gris arrondi a gauche de cette page
https://onlinemarketing.saarland/?numero=1
J'ai un site météo, j'aimerais afficher ce contenu sur mon site en php.
LA difficulté (pour moi) étant que le contenu de cette encadré gris est quotidiennement mis a jour.
J'ai pensé a utiliser preg_match_all
Mais ca ne marche pas...
Help me please
Voila, en fait j'aimerais afficher le contenu de l'encadré gris arrondi a gauche de cette page
https://onlinemarketing.saarland/?numero=1
J'ai un site météo, j'aimerais afficher ce contenu sur mon site en php.
LA difficulté (pour moi) étant que le contenu de cette encadré gris est quotidiennement mis a jour.
J'ai pensé a utiliser preg_match_all
<?php
if (preg_match('#(<div id='box_content_320'>.*?)#i',file_get_contents('http://www.saintpaul-lareunion.com/meteo_plage.php?numero=1'),$r));
echo $r[1];
?>
Mais ca ne marche pas...
Help me please
A voir également:
- Récupérer contenu d'une page web
- Supprimer une page word - Guide
- Web office - Guide
- Recuperer message whatsapp supprimé - Guide
- Comment traduire une page web - Guide
- Capture d'écran d'une page web entière - Guide
3 réponses
Bonjour,
J'ai eu le même genre de problématique en travaillant sur un méta-moteur de recherche il y a qq temps. Si je comprends bien, tu voudrais que s'affiche l'encadré gris mise à jour à chaque fois que l'on charge la page de ton site. Il existe une bibliothèque de fonctions qui peut faire ça : libcurl (ou chercher juste cURL). En gros, voilà à quoi ça devrait ressembler :
Au moment où ta page sera lu par le serveur (lorsqu'il lira le php pour générer la page HTML qu'il enverra au PC de l'utilisateur de ton site), l'ensemble du code source (html) de la page où se situe l'info sera enregistré dans la variable $data sous forme de string (donc, tu suivras les M.à.J. quotidienne).
Après, tu n'as plus qu'à t'amuser à découper la partie qui t'intéresse et à afficher le résultat où tu le souhaites sur ton site. Tu peux même supprimer certaines choses en interne de ce code pour changer le design par exemple (suffit juste de remplacer les class par les tiennes). Tout cela grâce à la fonction preg_match que tu sembles déjà connaître (pour trouver là où découper) et à des fonctions du style explode().
Seul hic possible : Si le site sur lequel tu prends tes données modifie un peu trop sa structure de base, ton découpage risque de ne plus fonctionner et il faudra le remettre à jour. Mais honnêtement, cela ne devrait pas arriver très souvent vu ton site.
Voilà, n'hésite pas à me dire si tu t'en sors... ou pas ! D'ailleurs, j'ai trouvé cette méthode un peu barbare (pour le découpage surtout, tu verras...) et si quelqu'un à une meilleure méthode, qu'il la présente ! ^^
J'ai eu le même genre de problématique en travaillant sur un méta-moteur de recherche il y a qq temps. Si je comprends bien, tu voudrais que s'affiche l'encadré gris mise à jour à chaque fois que l'on charge la page de ton site. Il existe une bibliothèque de fonctions qui peut faire ça : libcurl (ou chercher juste cURL). En gros, voilà à quoi ça devrait ressembler :
<?php $session=curl_init(); // pour initialiser une session CURL curl_setopt($session, CURLOPT_URL, $url);//$url représente l'URL de la page où tu veux chercher ton encadré gris. curl_setopt(...); // pour définir des options (tu devras sûrement en mettre, pour que ça fonctionne, mais l'on trouve pas mal de doc quand on sait où chercher) curl_setopt(...); // autre option etc. $data = curl_exec($session); // pour récupérer le retour de la requête curl_close($session); // pour fermer la session CURL ?>
Au moment où ta page sera lu par le serveur (lorsqu'il lira le php pour générer la page HTML qu'il enverra au PC de l'utilisateur de ton site), l'ensemble du code source (html) de la page où se situe l'info sera enregistré dans la variable $data sous forme de string (donc, tu suivras les M.à.J. quotidienne).
Après, tu n'as plus qu'à t'amuser à découper la partie qui t'intéresse et à afficher le résultat où tu le souhaites sur ton site. Tu peux même supprimer certaines choses en interne de ce code pour changer le design par exemple (suffit juste de remplacer les class par les tiennes). Tout cela grâce à la fonction preg_match que tu sembles déjà connaître (pour trouver là où découper) et à des fonctions du style explode().
Seul hic possible : Si le site sur lequel tu prends tes données modifie un peu trop sa structure de base, ton découpage risque de ne plus fonctionner et il faudra le remettre à jour. Mais honnêtement, cela ne devrait pas arriver très souvent vu ton site.
Voilà, n'hésite pas à me dire si tu t'en sors... ou pas ! D'ailleurs, j'ai trouvé cette méthode un peu barbare (pour le découpage surtout, tu verras...) et si quelqu'un à une meilleure méthode, qu'il la présente ! ^^
Effectivement assez pointu la méthode.
J'ai préféré utiliser Simple html DOM qui m'a simplifié la tache.
Je ne suis pas expert comme toi, jsuis qu'un novice
Par contre si tu as une petite idée pour le probleme que j'ai posté ici,
https://forums.commentcamarche.net/forum/affich-24172313-creer-une-carte-de-trajectoire#p24172313 , je suis preneur. Merci
J'ai préféré utiliser Simple html DOM qui m'a simplifié la tache.
Je ne suis pas expert comme toi, jsuis qu'un novice
Par contre si tu as une petite idée pour le probleme que j'ai posté ici,
https://forums.commentcamarche.net/forum/affich-24172313-creer-une-carte-de-trajectoire#p24172313 , je suis preneur. Merci
Ola, je ne suis pas un expert ! ^^ C'est juste que j'ai déjà rencontré quasiment le même problème.
La preuve, je ne connaissais pas Simple html DOM, mais ça a l'air mieux que ce que je fais à lire vite fait la doc là ! Ca te donne le résultat que tu voulais ?!
Je jette un oeil à ton autre problème voir si je peux t'aider quand même.
La preuve, je ne connaissais pas Simple html DOM, mais ça a l'air mieux que ce que je fais à lire vite fait la doc là ! Ca te donne le résultat que tu voulais ?!
Je jette un oeil à ton autre problème voir si je peux t'aider quand même.