サードパーティのアプリケーションとPageRankチェックWebサイトは、PageRank番号をどのようにチェックしますか? Googleはこのランク番号をAPIで提供しますか、または検索ボックスに何かを入力して取得できますか?ページランクを記録し、変数として使用する簡単なスクリプトを作成したいと思います。ソースとしてGoogleのみを使用することを好みます。
私の質問へのコメントと多くの検索を読んだ後、答えを見つけました。 Googleページランクを取得するには、Googleのサブドメイン http://toolbarqueries.google.com のいずれかに対するクエリを実行できます。このサブドメインは、実際に私が見つけた方法の1つに過ぎません。
基本的なクエリ構文は次の形式です。
http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=[HASH]features=Rank&q=info:[URL]&num=100&filter=0
Googleページランク番号を返しますが、[HASH]および[URL]を提供する必要があります。Googleからページランクを取得して生成するPHP、PythonおよびJava関数をいくつか見つけました。このハッシュされたクエリは正しく。その結果、正しく行われた場合、この回答を書いた日付でも機能し、Googleのサーバーから直接応答が得られます。 PHPの場合、 このコード が機能し、カスタマイズが最も簡単であることがわかりました。よく知っているいくつかのWebサイトを確認し、サードパーティのページランクアプリケーションと同じ応答を返しました。
また、ページランクの廃止の証拠をサポートするいくつかのブログと記事を見つけましたが、実際には値が時間とともに変化せず、すべてのページランクの値が凍結されているようです。
2016年3月7日の時点で、GoogleはPageRankの公開指標を完全に削除しました。 GoogleのJohn MuellerがTwitterで確認した 。これに先立ち、GoogleはAPIを介してこのデータへのアクセスを許可していました。これらのAPIはすべて非推奨になり、機能しなくなりました。
パブリックPageRankはゆっくりと死にかけています。 APIがアクティブなときでも、Googleはデータを頻繁に更新しませんでした。最後のデータ更新は2013年12月でした。
Googleは引き続きPageRankを内部的に使用します。彼らのランキングアルゴリズムはそれに依存しています。 Googlebotは、PageRankの高いページをより頻繁にクロールします。ただし、Googleはこの指標を一般公開していません。
このコードクラスGOOGLEPRを試してください{CONST SOURCE = ' http://toolbarqueries.google.com/ ';パブリック関数__construct(){}
static function getPageRank($page)
{
$hash = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer.";
$c = 16909125;
$length = strlen($page);
$hashpieces = str_split($hash);
$urlpieces = str_split($page);
for($d = 0; $d<$length; $d++){
$c = $c ^ (ord($hashpieces[$d]) ^ ord($urlpieces[$d]));
$c = (($c >> 23) & 0x1ff) | $c << 9;
}
$c = -(~($c & 4294967295) + 1);
$prHash = '8' . dechex($c);
$prUrl = self::SOURCE.'tbr?client=navclient-auto&ch=' . $prHash . '&features=Rank&q=info:' . urlencode($page);
$out = file_get_contents($prUrl);
if(strlen($out) > 0) {
return trim(substr(strrchr($out, ':'), 1));
} else {
return 0;
}
}
}