Page 1 sur 2

recuperer donnees site externe pour mon site

Posté : 03 oct. 2011, 13:13
par dyp
bonjour,
je souhaite récupérer des données du site météo france et les afficher dans mon site.

site source : http://france.meteofrance.com/vigilance ... ONE=DEPT11
site destination : http://www.meteo-montrealmalepere11.fr/

je voudrais faire l'équivalent de ce site : lameteodu17.wifeo.com/index.php
qui affiche en haut au milieu un carré vert (pour l'instant) avec la vigilance météo [Charente Maritime (17) - Pas de vigilance particulière © Météo17 © Météo-France ]

j'ai un bout de script trouvé sur internet:
<?php
$fichier = 'http://france.meteofrance.com/vigilance ... ONE=DEPT11';
$texte = file_get_contents($fichier);
preg_match('#<tr>\s*<td class="tab-chiffre">(?<municipale>[^<]+)</td>#i', $texte, $population);
echo $population['municipale'];
?>
étant un gros navet des expressions régulières je ne trouve pas ma solution. en auriez-vous une (hors le fait d'acheter un logiciel qui lui le fait) ?

merci bien de vos réponses

Re: recuperer donnees site externe pour mon site

Posté : 03 oct. 2011, 13:51
par xTG

Re: recuperer donnees site externe pour mon site

Posté : 03 oct. 2011, 19:39
par dYp
merci de m'avoir mis au courant, je compte laisser les copyrights comme sur le site suivant.
http://www.meteo17angliers.fr/
le proprio du site ne veut pas partager son script et j'ai des difficultés.

Re: recuperer donnees site externe pour mon site

Posté : 03 oct. 2011, 20:34
par xTG
En fait je pensais à cette partie :
Au titre de la présente licence, est exclusivement concédé:
un droit d'usage privé, individuel, personnel et non transmissible sur le contenu du site ou de l'un de ses éléments.
Et plus loin :
par le mécanisme des liens, sont interdites notamment la présentation d'une page de ce site dans un cadre n'appartenant pas à METEO-FRANCE et l'insertion d'une image appartenant à METEO-FRANCE dans une page ne lui appartenant pas.
l'extraction répétée et systématique d'éléments même non protégés du site causant un préjudice à METEO-FRANCE.
Ton météorologue amateur a soit une licence spéciale décernée par meteo-france, soit il déroge à cette licence et pourrait occasionner des poursuites. :)

En gros meteo-france interdit la récupération des informations qu'ils délivrent sur leur site pour un autre but que du visionnage personnel.

Re: recuperer donnees site externe pour mon site

Posté : 03 oct. 2011, 21:05
par dYp
zt si c'était pour un bn site GPL open source gentil ? tu ferais comment ? :)

Re: recuperer donnees site externe pour mon site

Posté : 03 oct. 2011, 21:52
par xTG
meteo-france ne diffuse pas ses contenus sous licence GPL, donc tu ne peux les réexploiter même en mettant ton projet en licence GPL.
Ton seul moyen est de leur demander une licence spéciale, qui sera à mon avis surement payante.

Re: recuperer donnees site externe pour mon site

Posté : 12 oct. 2011, 08:34
par dYp
je reviens à la charge, j'ai demandé à MétéoFrance, nous avons autorisation de récupérer dans la page web de la carte vigilance.
du coup je cherche à récupérer l'info de couleur pour la retranscrire. elle est donnée ici :
<td class="texte12_bull" colspan="1" rowspan="1"><b><span style="background-color: rgb(40, 215, 97);">Département en vigilance verte.</span></b><br>
Pas de vigilance particulière.
</td>
il faut que je fasse un if sur la couleur pour afficher un cadre vert si vigilance verte etc..
une idée ?

Re: recuperer donnees site externe pour mon site

Posté : 12 oct. 2011, 09:27
par xTG
Pour parser du HTML : DOMDocument ;)

Re: recuperer donnees site externe pour mon site

Posté : 18 oct. 2011, 16:57
par dyp
bonjour à nouveau,
le DOMDoc me pose des problèmes. j'ai tenté ça sans résultat.
<?php
	function recup_couleur($url)
	{
		$source = file_get_contents($url);
		$resultat = preg_match('#>Département en vigilance (?<couleur>[^<]+)</span></b><br>#', $source, $couleur);
	}
	
	$couleur = recup_couleur('http://france.meteofrance.com/vigilance/Bulletin?ZONE=DEPT11');
	echo "D&eacute;partement en vigilance $couleur";
?>
des idées vous avez ?

Re: recuperer donnees site externe pour mon site

Posté : 18 oct. 2011, 17:29
par Invité
petite info supplémentaire,
j'ai ça comme code HTML :
<!-- CADRE INFO VIGILANCE --><table class="taille495" cellpadding="0" cellspacing="0"><tbody><tr><td class="texte12_bull" colspan="1" rowspan="1"><b><span style="background-color: rgb(40, 215, 97);">Département en vigilance verte.</span></b><br>
Pas de vigilance particulière.
</td></tr></tbody></table>
et je cherche à récupérer le contenu du td class text12_bull

merci pour l'aide.

Re: recuperer donnees site externe pour mon site

Posté : 18 oct. 2011, 17:37
par dYp
j'ai aussi essayé ça :
<?php
$page = 'http://france.meteofrance.com/vigilance/Bulletin?ZONE=DEPT11';
$texte = file_get_contents($page);
preg_match('#<td class="texte12_bull" colspan="1" rowspan="1"><b>(?<couleur>[^<]+)</b><br>#', $texte, $vigilance);
echo $vigilance['couleur'];
?>

Re: recuperer donnees site externe pour mon site

Posté : 19 oct. 2011, 12:10
par moogli
salut,

http://php.net/dom

dans ton cas directement http://www.php.net/manual/fr/class.domdocument.php
par exemple
<?php
$dom = new DOMDocument('1.0', 'iso-8859-1'); // bon faut voir l'encodage ^^
$dom->loadHTMLFile('le chemin du fichier html'); // voir si fonctionne avec une url
?>
après utilisationde xpath avec http://www.php.net/manual/fr/domxpath.query.php

te reste a regarder les exemples et formuler la requete xpath qui va bien.

@+

Re: recuperer donnees site externe pour mon site

Posté : 19 oct. 2011, 15:34
par dYp
voila mon essai avec dom... erreur.
<?php
$myhtml = file_get_contents ('http://france.meteofrance.com/vigilance/Bulletin?ZONE=DEPT11');
$doc = new DOMDocument();
$doc->loadHTMLfile($myhtml);
$tags = $doc->getElementsByTagName('span');
foreach ($tags as $tag) {
       echo $tag->getAttribute('href').' | '.$tag->nodeValue."\n";
}
?>

Re: recuperer donnees site externe pour mon site

Posté : 19 oct. 2011, 16:24
par xTG
Moi aussi ce matin en tentant de me connecter j'ai eu une erreur...
Ah ? Si je dis pas laquelle c'était personne ne pourra m'aider ?

Bon beh puisque vous insistez ! Il me disait que mon identifiant ou mon mot de passe était incorrect !
Le bougre ! Comme si je ne connaissais pas mes informations de connexion. :D

Re: recuperer donnees site externe pour mon site

Posté : 19 oct. 2011, 16:54
par moogli
déja t'a mal regardé la doc dans ton cas c'est loadHTML et pas loadHTMLlile

as tu regardé ce que $myhtml avait dans le ventre ?

essais et tu comprendra.

il va falloir être beaucoup plus ingénieux pour cela (socket je pense si l'on peux récupérer les cookies .....)

@+