IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème pour parser la page d'un site avec simple_html_dom


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    aucun
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut Problème pour parser la page d'un site avec simple_html_dom
    Bonjour,

    J'aimerai parser les pages html du site de la fédération française de handball afin d'afficher dans un site perso le classement des équipes.
    Pour faire cela j'utilise "simple_html_dom.php" qui est un outil très intéressant.

    Voici le code que j'ai dans la page index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <DOCTYPE html>
    <html lang="fr">
    	<head> 
    		<meta charset="utf-8">
    		<title id="title"> Test HTML Parse </title>
    	</head>
    	<body>
    		<?php
    			include('simple_html_dom.php');
     
    			$html = file_get_html("http://www.ff-handball.org/competitions/championnats-nationaux-mf/lnh/resultats.html");
    			/*$html = new simple_html_dom();
    			$html->load_file("http://www.ff-handball.org/competitions/championnats-nationaux-mf/lnh/resultats.html");*/
    			$toDisplay = "";
    			echo "<h1>Classement de LNH</h1>";
     
    			//Récupération des informations du classement
    			foreach($html->find('div[class=lgClassmt]') as $e){
    				//Le tableau
    				$teamRanking = $e->children(1);
    				$temp = "";
    				$i = 0;
     
    				foreach($teamRanking->find('td') as $ee){
    					$temp .= $ee->plaintext . "$$$$";
    					$i++;
    					if($i == 10){
    						$data = explode("$$$$", $temp);
    						$toDisplay .= "<li>";
    						$toDisplay .= $data[0] . " -- " . $data[1] . " -- " . $data[2] . " -- " . $data[3] . " -- " . $data[4] . " -- " . $data[5] . " -- " . $data[6] . " -- " . $data[7] . " -- " . $data[8] . " -- " . $data[9];
    						$toDisplay .= "</li>";
    						$temp = "";
    						$i = 0;
    					}
    				}
    			}   
     
    			//Affichage du classement
    			if(empty($toDisplay)){
    				echo $html->plaintext;
    			}
    			else {
    				echo "<ul>";
    				echo $toDisplay;
    				echo "</ul>";
    			}
     
    			// clean up memory
    			$html->clear();
    			unset($html);
    		?>
    	</body>
    </html>
    Le résultat est bizarre, je vous en affiche seulement une partie :
    ��}[s�ؾ�s�jm���>�$�I�=�l�cc;qv�r I�@�$�d�:h��3�|�y���y���-ݐ@HK\�|NR� ������������}�Ό���C�to+�f�I$S��j*U��17������j�.+S~�J�; �Qb�볷������c�HQ�����7�+Kz�>&uW�#Q'�ޓ��o��T;���-�Jf�y�혟�5�8�H/��z�~"�<֢ϒҟs��q��Lui�'o�Ϥ#�ߎ��MO�N�1ˆW5I?
    Ce qui est encore plus étonnant c'est que si je veux afficher le classement lfh au lieu de lnh, je remplace l'url de l'exemple par cette url 'http://www.ff-handball.org/competitions/championnats-nationaux-mf/lfh/resultats.html' et le résultat fonctionne.

    Comme vous pouvez le voir j'ai essayé de deux manière différentes :
    1 -
    $html = file_get_html("http://www.ff-handball.org/competitions/championnats-nationaux-mf/lnh/resultats.html");

    2 -
    $html = new simple_html_dom();
    $html->load_file("http://www.ff-handball.org/competitions/championnats-nationaux-mf/lnh/resultats.html");

    Avez vous des idées sur le fait que pour l'url de la lnh ça me renvoie une liste de caractères spéciaux ?

    Je vous remercie par avance.

    PS : j'ai aussi essayé avec curl, j'ai le même problème ...

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    je viens de regarder le site ciblé, il semble que la page qui ne fonctionne pas soit gzippée. bon faut que tu modifies ta lib/ton dev pour gerer ça.

    ensuite ce que tu fais c'est de la contrefaçon si tu ne demandes pas l'autorisation au site visé. Au moins intégre un mécanisme de cache pour ne pas faire autant de visite sur leurs sites que toi tu "génères" des visiteurs, parce que si tu te repéré la punition la plus light sera d'être black listé ... et je te souhaite que ça t'arrive un jour pour calmer ce genre d'ardeurs.

    http://www.developpez.net/forums/d11...n-libre-metro/

  3. #3
    Membre confirmé
    Profil pro
    aucun
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut
    et je te souhaite que ça t'arrive un jour pour calmer ce genre d'ardeurs.
    Houla, je ne savais pas que c'était de la contre façon c'est pas la peine de me souhaiter des mauvaises choses ...

    Je ne vais pas développer ma petite idée de site c'est tout
    Je rappelle que c'était pour une utilisation personnelle rien que pour moi et pour personne d'autre. En plus cette application aurait tournée seulement en local sur mon pc

Discussions similaires

  1. [fileupload] problème pour parser la requete
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 12
    Dernier message: 24/04/2008, 12h02
  2. [POO] Problème pour Parser une page XML
    Par Death83 dans le forum Langage
    Réponses: 18
    Dernier message: 29/08/2006, 10h15
  3. Erreur 404 - problème pour tester la page jsp
    Par zuzuu dans le forum Tomcat et TomEE
    Réponses: 10
    Dernier message: 05/07/2006, 16h55
  4. Problème pour visionner une page HTTPS
    Par ahage4x4 dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 07/02/2006, 18h41
  5. problème pour parser un fichier xml avec XML::Simple
    Par black_code dans le forum Modules
    Réponses: 3
    Dernier message: 30/01/2006, 19h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo