recuperation du rank alexa

webtrax
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 3
Inscription: 3 Juin 2007

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 occasionnel
WRInaute occasionnel
 
Messages: 307
Inscription: 7 Juil 2004

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
Nouveau WRInaute
 
Messages: 3
Inscription: 3 Juin 2007

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 passionné
WRInaute passionné
 
Messages: 2438
Inscription: 21 Nov 2005

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
Nouveau WRInaute
 
Messages: 3
Inscription: 3 Juin 2007

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 occasionnel
WRInaute occasionnel
 
Messages: 307
Inscription: 7 Juil 2004

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.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

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