recuperation du rank alexa

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

webtrax
Nouveau WRInaute
 
Messages: 3
Inscription: Dim Juin 03, 2007 0:20

recuperation du rank alexa

Message le Dim Juin 03, 2007 0:31

Bonsoir,
Ca fait plusieurs jours que je cherche à récuperer le rank alexa, j'ai essayé plusieures méthodes mais nulles n'est fiable.

http://data.alexa.com/data?cli=10&dat=s ... nkinfo.com

Ca donne un xml avec le rank alexa
<POPULARITY URL="webrankinfo.com/" TEXT="2341"/>

En se basant sur ça, je fais ces deux fonctions :

Code: Tout sélectionner
function getAlexaRank() {
                        $url = $this->url['host'];
                        $url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
                        $data = $this->getPage($url);
                        preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
                        $value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;



Code: Tout sélectionner
function toInt ($string) {
                        return preg_replace('#[^0-9]#si', '', $string);
                }


A vrai dire, je me perd, je veux récuperer l'url d'un formulaire et afficher son rank 8O
Code: Tout sélectionner
<form method="POST">
Veuillez entrer votre site: <input name='url' value='<?=$url ; ?>' size="20"><input type="submit" value="valider">
</form>



Merci d'avance.

Morph1er
WRInaute impliqué
WRInaute impliqué
 
Messages: 307
Inscription: Mer Juil 07, 2004 14:05

Message le Dim Juin 03, 2007 10:52

Salut,

Pourquoi ne pas faire un coup de simplexml par exemple ?

Sinon ça
Code: Tout sélectionner
<?=$url ; ?>

C'est caca ;)

webtrax
Nouveau WRInaute
 
Messages: 3
Inscription: Dim Juin 03, 2007 0:20

Message le Dim Juin 03, 2007 15:57

Le probléme ce n'est pas l'url, je m'excuse, je me suis mal exprimé, l'url je la récupére dans une variable, aprés jé recupere le contenu du fichier XML avec getPage

en tout voilà mon bout de code :
Code: Tout sélectionner

<form method="POST">
Veuillez entrer votre site: <input name='url' value='<?=$_REQUEST['url']; ?>' size="20"><input type="submit" value="valider">
</form>

<?


// fonction GetPage

function getPage ($url) {
                        if (function_exists('curl_init')) {
                                $ch = curl_init($url);
                                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                                @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
                                curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
                                return curl_exec($ch);
                        } else {
                                return file_get_contents($url);
                        }
                }



// GetAlexaRank

function getAlexaRank() {
                        $url = $this->url['host'];
                        $url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
                        $data = $this->getPage($url);
                        preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
                        $value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;
                        echo "$value";

                }



// toInt

function toInt ($string) {
                        return preg_replace('#[^0-9]#si', '', $string);
                }



?>



Si quelqu'un peut me dire où est ce que je me trompe..

Merci d'avance.


Serious
WRInaute accro
WRInaute accro
 
Messages: 2438
Inscription: Lun Nov 21, 2005 18:29

Message le Dim Juin 03, 2007 21:24

Code: Tout sélectionner
echo intval(ereg_replace(".*<REACH RANK=.([0-9]+).*","\\1",str_replace("\n","",file_get_contents("http://data.alexa.com/data?cli=10&dat=s&url=$url"))));

webtrax
Nouveau WRInaute
 
Messages: 3
Inscription: Dim Juin 03, 2007 0:20

Message le Dim Juin 03, 2007 21:54

ca marche pas , ça donne une fausse résultat 8O

voilà tout le code : -http://cjoint.com/?gdw1MAJ6C1

Merci d'avance.

Morph1er
WRInaute impliqué
WRInaute impliqué
 
Messages: 307
Inscription: Mer Juil 07, 2004 14:05

Message le Lun Juin 04, 2007 8:26

Comme je l'ai dit, j'ai bien compris ton problème, regarde simplexml dans le manuel php, tu comprendras ...
http://fr.php.net/simplexml


Sinon, quand j'ai cité ton code, je faisais référence au fait que cette notation n'existe plus... C'est obsolète et ça te vaudra surement des warning... Déjà, pour différencier xml et php on fait plutôt
Code: Tout sélectionner
<?php //mon code ?>



Ensuite, pour faire un affichage, on fait echo ou print et non "=" donc un
Code: Tout sélectionner
<?php echo $url; ?>
c'est mieux. Ca respecte un peu mieux les standards.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités