Extraire les mots des titres des 100 premières pages des SERP Google

Extraire les titres des 100 premières pages des SERP GoogleJe vous ai expliqué, hier, comment faire pour extraire les 100 1ers liens des pages de recherche du moteur Google. J’y évoquais, notamment la fonction curl que nous allons utiliser dès à présent !

Au sommaire

1. Extraire les mots des titres des 100 1ères pages des SERP

2. Le code PHP de la fonction

3. Quels enseignements ?

1. Extraire les mots des titres des 100 1ères pages des SERP

L’objet de la fonction PHP que je vous présente ci-dessous est d’extraire tous les mots qui composent les titres des 100 premières pages de l’index. A l’aide de la fonction preg_replace et preg_match, j’utilise les expressions pour nettoyer le code HTML en enlevant le corps du document et en extrayant le contenu de la balise title. Seule la partie du code concernant le titre est fonctionnel ! Vous compléterez pour le body. ;+)

2. Le code PHP de la fonction

    function extract_words($url,$type)
    {
        $html=curl($url);
        if($html)
        {
            $html = preg_replace('@[\t\n\r\f]@siu',' ', $html );
            if($type=='body')
            {
                if(preg_match('@<body[^>]*>(.+)</body>@siu',$html,$matches))
                {
                    $html=$matches[1];
                    $html = preg_replace(
                        array(
                            // Code à compléter...
                            ),
                        ' ', 
                        $html);
                }
            }
            elseif($type=='title')
            {
                $html = preg_replace('@<body[^>]*>.+</body>@siu',' ', $html );
                if(preg_match('@<title[^>]*>([^<]+)</title>@siu',$html,$matches))
                {
                    $html=$matches[1];
                }
            }
            $html=html_entity_decode($html);
            $html=utf8_decode($html);
            $html=strtr($html,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ', 'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');  
            $html=strtolower($html); 
        }
        return $html;
    }

La fonction s’utilise comme suit :

echo extract_words('https://startpage.com/do/search?lui=francais&language=francais&cat=web&query=consultant+seo&prfh=num_of_resultsEEE100N1N','title');

3. Quels enseignements ?

A l’aide de quelques instructions PHP supplémentaires, j’ai extrait l’ensemble des mots – lexies ? – utilisés dans les titres associé à la requête « consultant SEO » et j’ai effectué le calcul TF-IDF (il semble d’ailleurs y avoir plusieurs formules utilisables) qui montre qu’un consultant SEO est avant tout un expert du référencement naturel travaillant sur Paris qui, à l’occasion, parle de Google (cliquez sur ce lien pour récupérer le fichier de résultats avec les calculs qui vont bien).

Tout ça pour ça !!! ;+)

 

Php / , , , , , , , , , , ,