Script de calcul de densité en PHP

WRInaute impliqué
salut les gars,

je recherche un script php ou des fonctions php permettant de me faire un outil de calcul de densité que dans le corps de la page :

- densité des mots uniques
- densité des groupes de 2 mots
- densité des groupes de 3 mots

merci, je prens tout ce que vous pouvez donner :lol:
 
WRInaute impliqué
Salut,
Ca dépend du detail que tu desires obtenir (densité dans le titre, densité dans le body en général, les metas, etc...).
Le principe n'est pas compliqué; tu peux utiliser la fonction SUBSTR_COUNT()
 
WRInaute occasionnel
il y a aussi str_word_count($chaine, 2) qui te renvoie un tableau des mots avec leur position dans la chaine.
 
WRInaute impliqué
en fait je me suis mal exprimée, je cherche les densités que dans le corps de la page,
mais je ne cherche pas sur un mot clé précis, je veux qu'il analyse la page et qu'il dise lui même par exemple :
clé unique : 5 fois le mot "clé1"
clé double : 3 fois le groupe de mots "clé1 clé2"

les fonctions que vous m'avez donné ne marche je crois que si on leur demande d'analyser un mot précis, je veux pas de mot précis, à lui de calculer le nombre de tous les mots qui reviennent.

merci pour votre aide
là je galère pas mal
caro
 
WRInaute impliqué
Il suffit de bidouiller un peu. Par exemple pour analyser la home de Google:
Code:
<?
$chaine=strtolower(strip_tags(file_get_contents("https://www.google.fr/")));
$tout= str_word_count ($chaine);
$total[0]=array_unique((str_word_count ($chaine,1)));
foreach ($total[0] as $expression)
{
$occurence=substr_count($chaine, $expression);
$densite= ($occurence*100/$tout);
if ($densite>0.1 && strlen($expression)>5){echo "$expression => $densite %<br>";}
}
?>.
La, ca analyse les mots de plus de 5 lettres, et ayant une densité superieure à 0.1%. Tu devrais facilement pouvoir adapter pour obtenir exactement ce que tu veux. ;)
 
WRInaute impliqué
merci beaucoup ca a l'air d'être exactement ce que je cherche.
je vais bien analyser tout ca
encore merci :wink:
 
WRInaute impliqué
ca marche pô,
dans l'exemple que donne vpx, il faut analyser une clé ($expression),
moi je veux pas analyser une clé précise, je veux qu'un tableau s'affiche avec la densité de tous les mots.

pour mieux comprendre, se rendre à l'adresse suivante, c'est ce système que j'ai besoin :
searchengineworld.com/cgi-bin/kwda.cgi

dans ce systeme, on notre juste l'url d'une page, et ca donne la densité de tous les mots de la page.
 
WRInaute occasionnel
Code:
<?php
$str = strtolower(strip_tags(file_get_contents("https://www.google.fr/")));
$tab = str_word_count($str, 2);
$occ = array();
foreach ($tab as $word)
{
	if (!isset($occ[$word]))
		$occ[$word] = 0;
	$occ[$word]++;
}
print('<pre>');
print_r($occ);
print('</pre>');
?>

ensuite, tu calcules la densité, tu retiens que les mots de plus de N lettres, etc...
 
WRInaute impliqué
merci vraiment à tous les 2 (vpx et blini) pour votre aide et votre patience, au fait le code de vpx marchait aussi mais j'ai eu du mal à comprendre au début :lol:
carole
 
WRInaute occasionnel
@ vpx: désolé, j'ai pas écrit ce bout de code pour dire "c'est mieux ce que proposes vpx", j'avais juste lu la réponse de caro disant que ça marchait pas :/
 
WRInaute occasionnel
et pour des groupe de mots

Bonjour,

Je suis tombé sur ce post en cherchant un exemple de script PHP pour la densité des mots.
Très bien, le script, je ne connaissais pas ces fonctions.
Mais, le script ne donne l'occurence que pour des mots uniques.
Comment faire pour qu'il donne également l'occurence des expressions composées de 2 ou 3 mots ?
 
WRInaute impliqué
puisque yvan02 relève ce sujet, je suis aussi intéressée pour savoir comment faire pour trouver les densités de "groupes de mots".
merci :wink:
 
WRInaute occasionnel
En fait, il suffit de balayer toutes les combinaisons de 2, 3 motsà partir de la liste des mots uniques. Pour chaque combinaison, on teste si elle est présente dans l'ensemble des mots du texte.
J'aurai donné le script, mon celui pour mon cas personnel est un peu particulier car je dresse la liste des occurences des textes de backlinks et non du contenu.

Un début de code pour les combinaisons de 2 mots
Code:
foreach ($tousmots as $cle1 =>  $mot1) {
 foreach ($tousmots as $cle2 => $mot2) {
  $expression = $mot1." ".$mot2;
  // et on test la présence de $expression dans tout le contenu du texte
  ....
  
 }
}
 
Nouveau WRInaute
Bonjour,

Je ne sais pas si ce sujet vit encore, mais je suis exactement dans la même position que Caro il y a un an, avec le même type de besoin.
J'ai utilisé jusqu'à présent des sites web qui proposent gratuitement ce genre de services (sujet d'ailleurs traité ailleurs sur ce forum : https://www.webrankinfo.com/forum/t/calculer-la-densite-des-mots-cles.35969/ ) mais j'en suis arrivé à la conclusion que la réalisation d'un outil "propre", qui permette d'exclure une liste de termes que l'on ne souhaiterait pas compter (la le lui un ...) serait plus sympatique.
Jusqu'à présent, je n'ai pas réellement trouvé de scripts PHP tout faits sur internet (quoique http://www.stargeek.com/php_scripts.php?script=21 ) mais je ne désespère pas, vu que je sais pas coder du php...
Je suis preneur de vos retours d'expérience.
Bien cordialement,
 
WRInaute discret
Bonjour

quelqu'un aurait il un script php à partager pour le calcul de densite, tout ce que je trouve pedale dans la semoule avec les accents
je voudrais pouvoir analyser la densite du body en incluant ou non le head, en incluant ou non les alt, les url des liens textes des merci
 
WRInaute discret
Avec bcp de retard
salut wri,

tout d'abord je n'ai certainement pas ton experience, il n'empêche que je voudrais pouvoir faire mes propres tests

difficile de te repondre comme cela sur un post:
pour "2006" : 0,7% (Wikipédia) tandis que pour "2008" : 6,7% (Wikipédia) : alors, c'est quoi l'idéal ?
pourquoi un algorithme n'aurait-il pas le droit d'évoluer?

pour "google" : 9% (Google.fr) et pour "yahoo" : 2,7% (Yahoo FR) : page dépouillée ou très chargée...
pourquoi deux moteurs de recherche distinctes aurait-il le même algorithme?

* de plus je ne sais pas si wikipedia est le meilleur exemple pour tester la densité:
- peut-être certains sites "connus" sont vus de facon particuliere par google
- wikipedia fait parti de ces sites dont l'évolution est permanente donc comment pouvoir analyser qui fait quoi avec tous ces changements... la seule maniere d'analyser un parametre serait de ne pouvoir jouer que sur ce paramètre

* par contre pour le reste je me pose les memes questions que toi et que tout un chacun! (pluriel, accents, title etc etc )

et mon sentiment c'est que je ne vois pas comment un moteur de recherche pourrait se passer de la densite sans jouer à la loterie, par contre laquelle? dans une fourchette? par rapport aussi à l'évolution de la densité etc..

mais, bon bien sur ce n'est que mon interpretation
 
Discussions similaires
Haut