web-dev-qa-db-ja.com

サードパーティのツールなしでGoogle PageRankを見つける方法

サードパーティのアプリケーションとPageRankチェックWebサイトは、PageRank番号をどのようにチェックしますか? Googleはこのランク番号をAPIで提供しますか、または検索ボックスに何かを入力して取得できますか?ページランクを記録し、変数として使用する簡単なスクリプトを作成したいと思います。ソースとしてGoogleのみを使用することを好みます。

7
Mike

私の質問へのコメントと多くの検索を読んだ後、答えを見つけました。 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サイトを確認し、サードパーティのページランクアプリケーションと同じ応答を返しました。

また、ページランクの廃止の証拠をサポートするいくつかのブログと記事を見つけましたが、実際には値が時間とともに変化せず、すべてのページランクの値が凍結されているようです。

6
Mike

2016年3月7日の時点で、GoogleはPageRankの公開指標を完全に削除しました。 GoogleのJohn MuellerがTwitterで確認した 。これに先立ち、GoogleはAPIを介してこのデータへのアクセスを許可していました。これらのAPIはすべて非推奨になり、機能しなくなりました。

パブリックPageRankはゆっくりと死にかけています。 APIがアクティブなときでも、Googleはデータを頻繁に更新しませんでした。最後のデータ更新は2013年12月でした。

Googleは引き続きPageRankを内部的に使用します。彼らのランキングアルゴリズムはそれに依存しています。 Googlebotは、PageRankの高いページをより頻繁にクロールします。ただし、Googleはこの指標を一般公開していません。

8

このコードクラス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;
  } 
    }
}
0
Grep Scott