0

Contrie から Alexa トップ サイトに関する情報を受け取りたいのですが、受け取りたいのは次のとおりです。

  • ウェブサイトの位置;
  • ウェブサイトのURL;

URLについてはすでに取得していますが、ウェブサイトの位置にタグを追加すると何かが機能しないため、コードは次のとおりです。

<?php

for ($z=0;$z<2;$z++) {
$html=file_get_contents('http://www.alexa.com/topsites/countries;'.$z.'/PT');
preg_match_all(
    '/<div class="count">.*?<\/div>.*?<a href="\/siteinfo\/.*?">(.*?)<\/a>/s',
    $html,
    $array, //array with sites
    PREG_SET_ORDER
);

for ($i=1;$i<count($array);$i++) {
    echo "<pre>"; print_r($array); echo "</pre>"; 
}
} 


?>

私はこれを得ています:

Array
(
[0] => Array
    (
        [0] => 
1



google.pt
        [1] => google.pt
    )

[1] => Array
    (
        [0] => 
2
4

4 に答える 4

6

PHP を使用して Web サイトの Alexa ランクを取得するには、次のコードを使用できます。

<?
$url="http://theurl.com";
$xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url);
$rank=isset($xml->SD[1]->POPULARITY)?$xml->SD[1]->POPULARITY->attributes()->TEXT:0;
$web=(string)$xml->SD[0]->attributes()->HOST;
echo $web." has an alexa rank of: ".$rank;
?>

それが役立つことを願っています

ソース - http://99webtools.com/php-script-to-get-alexa-rank.php

于 2013-11-04T11:14:01.007 に答える
3

なぜ公式APIを使わないのですか?

1,000 リクエストで $0.15 の費用がかかり、SimpleXML で読みやすい XML を取得できます。おまけとして、アレクサの利用規約に違反することはありません。

于 2013-11-04T11:13:21.337 に答える
1

これをチェックしてください...あなたを助けます..

 http://www.phpclasses.org/package/4873-PHP-Get-site-ranking-information-from-Alexa-site.html
于 2013-11-04T12:05:04.117 に答える
0

次のコードを試すことができます:

function getAlexaRank($domain) {
        $request = "http://data.alexa.com/data?cli=10&dat=s&url=" . $domain;
        $data = getPageData($request);
        preg_match("/<POPULARITY URL="(.*?)" TEXT="([\d]+)"/si", $data, $p);
        $value = ($p[2]) ? number_format($p[2]) : "n/a";
        $string = "<a href=\"http://www.alexa.com/siteinfo/" . $domain . "\">" . $value . "</a>";
        return $string;
}
echo 'Rank: '.getAlexaLinks('www.your-domain.com'); // returns Rank: 118

希望はあなたを助けます

ソース: http://w3webtools.com/php-code-get-alexa-rank-and-site-linking/

于 2014-11-04T10:00:53.493 に答える