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 :

Lecture de fichier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Par défaut Lecture de fichier
    Bonjour à tous,

    désolé pour le titre peu explicite, mais je ne savais pas trop quoi mettre.

    Je souhaite récupérer le nombre de vues d'une vidéo sur dailymotion, et aucun outils (après pas mal de recherche) ne semble pouvoir donner cette info.

    J'ai donc décidé de lire le code source de la page ou se trouve la vidéo pour pouvoir récupérer ce nombre.

    Voila à quoi ressemble le code source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     <div class="dmco_box left_title">
                            <h2 class="dmco_title"><a href="/fr/channel/sport">Accéder à la page Sports et Extrême »</a></h2>
                          </div>
                          <div class="dmco_box right_title">
                            <h2 class="dmco_title"><div class="dmco_html dmpi_video_stats video_stats" id="top_video_stats"><span class="optional_stat"><span class="dmco_simplelink popup_ie_width width_600 linkable ajax_link  action:popup" hf="2f706167656974656d2f766964656f2f6368617274733f726571756573743d253246766964656f25324678626764703326616a61785f726e643d34633033366464633736663439" title="8 743 vues"><b class="video_views_value">8 743</b> vues. </span><span class="sep"> | </span></span><span class="optional_stat"><b class="video_comments_value">1</b> com.<span class="sep"> | </span></span><span class="optional_stat"><b class="video_bookmarks_value">6</b> fav.</span></div></h2>
     
                          </div>
                        </div>
    Avec du code avant et après bien sur.

    Voila mon code pour récupérer ce nombre :

    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
    <?php
     
    		$url="http://www.dailymotion.com/video/xbgdp3_world-heli-challenge_sport#from=embed?start=0";
     
    		$nom_fichier="pageVideo" ;
     
    		$code_html=file_get_contents($url);
     
    		file_put_contents($nom_fichier,$code_html); 
     
    		if (!$fp = fopen("pageVideo","r")) 
    		{
    			echo "Echec de l'ouverture du fichier";
    		}
    		else 
    		{
    			$trouve = false;
     
    			$nb = 0;
    			while(!feof($fp)) 
    			{
    				// On récupère une ligne
    				$ligne = fgets($fp, 255);
     
     
    				if(preg_match("#vues#", $ligne))
    				{		
    					echo '<p>'. $ligne .'</p>';
     
    					$ligneS = str_replace(' ', '', $ligne);
     
    					preg_match('#([0-9]+vues)#', $ligneS, $nb);
     
     
    					$nb = str_replace('vues', '', $nb[1]);
    				}
    			}
    			fclose($fp); // On ferme le fichier
     
    			echo 'le nombre est : '. $nb;
    		}
     
    	?>
    Jusqu'ici tout va bien, le code fonctionne.

    Ce que je voudrai maintenant c'est savoir comment être sur qu'a la lecture du code source, la ligne contenant l'info "title="8 743 vues" ne soit pas coupée, ce qui empêcherai le code de fonctionner?

    Si je met aucune valeur dans la fonction fgets, suis-je sur que la ligne sera lue comme moi je vois le code source ou peut-elle être coupée?


    Merci.


    Cordialement.

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Tu devrais plutôt travailler avec ta variable $code_html qui contient tout le source de la page visée.
    Ainsi tu sera sûr que le compteur y est bien présent.

    Bien sûr, cela nécessite de retravailler (un peu) la regex...

Discussions similaires

  1. [Windows]lecture des fichier lnk (raccourcis)
    Par Tiaps dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 21/10/2009, 19h27
  2. [jsp]lecture de fichier
    Par antigone dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 04/09/2003, 11h05
  3. [AS400][Intranet][PC] Lecture de "fichiers" AS400
    Par lando dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 16/07/2003, 11h11
  4. Lecture de fichier
    Par Watcha dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 04/03/2003, 20h43
  5. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 09h43

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