Récupérer le nombre de vidéo d'une page web

Bonjour,
Je voudrais savoir s'il est possible de trouver le nombre de vidéo d'une page web à partir du code HTML de cette page en php. Et si oui comment ?
Merci.

10 réponses

  1. Je vous partage ma solution :

    public function nbVideo($codeHTML) {
        $nbVideo = 0;
    
        $expressions = array('|<video.+?video ?/?>|is',
                             '|<object.+?flv.+?object ?/?>|is',
                             '|<object.+?data="http://www.youtube.com/.+?object ?/?>|is',
                             '|<object.+?data="http://www.dailymotion.com/.+?object ?/?>|is',
                             '|<object.+?data="http://www.wat.tv/.+?object ?/?>|is',
                             '|<object.+?data="http://rutube.+?object ?/?>|is',
                             '|<a href ?=.+?fancybox.+?video-play.+?a ?/?>|is');
    
        foreach($expressions as $pattern){
          $nbVideo = $nbVideo+ self::getCountPattern($pattern, $codeHTML);
        }
    
        return $nbVideo;
      }


    public function getCountPattern($pattern, $texte) {
        preg_match_all($pattern, $texte, $out, PREG_SET_ORDER);
         
        return count($out);
      }


    ce n'est pas vraiment ce qu'il y a de plus précis, mais avec ça on peut se rapprocher de la vérité. Il me suffit juste encore de trouvé d'autres expression, entre autre avec <embed> et ça sera bon !
    1
    1. Salut, si c'est de l'HTML5, il est possible que la balise <video> ait été utilisée, donc, si tu réussis à passer/récupérer le code HTML de ta page dans ta page PHP et la stocker dans une variable, il te suffira d'utiliser la fonction substr_count qui permet de compter le nombre de fois qu'un groupe de caractère apparaît dans la chaîne.
      substr_count($ma_chaine_contenant_le_code_html, '<video');
      (je n'ai pas fermé la balise car il y a plusieurs paramètres possibles à la suite)
      https://www.php.net/manual/fr/function.substr-count.php

      Tu devrais récupérer le nombre de fois que la balise <video> est utilisée
      0
      1. Merci de ta réponse.
        Le problème c'est que ce n'est pas de l'HTML5, il n'y a pas une autre syntaxe commune à l'appel d'une vidéo ?
        0
        1. Pas vraiment, tu peux toujours regarder dans le code html de la page en question, à quel moment sont appelées les vidéos
          0
          1. Modérateur
            Salut

            Tout va dépendre de comment sont intégré ces vidéos.
            0
            1. Contributeur
              Et dis bonjour à nos amis <embed>, <object>, <iframe> qu'on hais tant!
              0
            2. Modérateur
              Les gens n'ont qu'a utiliser la balise vidéo, etpi cétout !

              Nan mais ho.
              0
            3. Contributeur
              Z'aurais du virer ces balises (sauf à la rigueur le iframe) dans HTML5!
              Oh attends, HTML5 est un Living Standard, donc encore en évolution... *complote complote complote*
              0
            4. Le truc, c'est que Kalheesi veut simplement compter le nombre de vidéos, logiquement celui qui aura codé la page aura utilisé la même typologie pour intégrer ces vidéos.
              0
            5. il existe combien de façon d'intégrer des vidéo ? à proximative
              0
          2. Ok merci.
            Ça ne m'arrange pas vraiment car je dois développer une appli qui va analyser une page web, donc ressortir plusieurs info dont le nombre de vidéo..
            0
            1. Quand tu dis "une page web", si c'est une précise, reprend ce que je te dis juste au dessus,
              Si c'est de l'analyse d'une page par son URL, çà risque d'être plus coton, j'ignore si l'on peut reconnaître une page html5 via du code.
              0
              1. J'analyse la page par son URL
                0
                1. Contributeur
                  alexdu17200:"j'ignore si l'on peut reconnaître une page html5", si le doctype est
                  <!DOCTYPE html>
                  , c'est du (X)HTML5. Mais rien ne dit que l'élément standard <video> est utilisé pour la vidéo (sauf analyse plus approfondie de la page).
                  Kalheesi:"J'analyse la page par son URL", juste avec son URL? Ça ne suffira pas, il faut récupérer le contenu HTML.
                  0
                  1. Oui en effet, je rentre l'url de la page que je veux analyser, apres je passe par l'outil Snoopy ( https://sourceforge.net/projects/snoopy/ ) qui me renvoie le code HTML et voilà. Il faut que je me débrouille avec ça pour comptabiliser le nombre de vidéo de la page
                    0