Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
ruby script to get Google PageRank
Kodama's home / tips.
Japanese description.
Google PageRank (ruby script/class)
This ruby script get a Google PageRank for a URL.
Download: gprank.rb.
Containing module is very simple, so it will be easily used in your script.
Note
update 2007-07-10.
Because the format of query/reply for the PageRank server is changed.
Note
- The script gprank.rb does not complete inperfect URL.
Therefore, where a browser accepts a URL http://www.math.kobe-u.ac.jp/~kodama/,
but gprank.rb needs http://www.math.kobe-u.ac.jp/~kodama/index.html .
- Raw Google PageRank database treat URL for files.
And the script gprank.rb does not adjust it.
e.g.
For a URL of http://www.math.kobe-u.ac.jp/~kodama/tips.html#ruby,
we have to cut off "#ruby" and use http://www.math.kobe-u.ac.jp/~kodama/tips.html .
Example
This script returns a Google PageRank up to 10.
$ gprank.rb -u http://www.math.kobe-u.ac.jp/~kodama/index.html
PageRank: 4 : http://www.math.kobe-u.ac.jp/~kodama/index.html
Example
When Google server have no entry of the URL, then print outs "NO_INDEX".
$ gprank.rb -u http://www.math.kobe-u.ac.jp/~kodama/tips-RubyPoly.html
PageRank: NO_INDEX : http://www.math.kobe-u.ac.jp/~kodama/tips-RubyPoly.html
Example
The following command sequence get a sorted list of PageRank for my pages tips-*.html.
$ cd ~/public_html
$ ls tips-*.html | xargs -l1 -i gprank.rb -u www.math.kobe-u.ac.jp/~kodama/\{\} | sort
...
PageRank: 0 : www.math.kobe-u.ac.jp/~kodama/tips-AKS-prime.html
PageRank: 0 : www.math.kobe-u.ac.jp/~kodama/tips-APRCL-prime.html
...
PageRank: 3 : www.math.kobe-u.ac.jp/~kodama/tips-EBB.html
PageRank: 3 : www.math.kobe-u.ac.jp/~kodama/tips-EtherAddress.html
...
PageRank: 4 : www.math.kobe-u.ac.jp/~kodama/tips-HyperReal.html
PageRank: 4 : www.math.kobe-u.ac.jp/~kodama/tips-latex2html-custom-titles.html
...
PageRank: NO_INDEX : www.math.kobe-u.ac.jp/~kodama/tips-RubyPoly.html
PageRank: NO_INDEX : www.math.kobe-u.ac.jp/~kodama/tips-backup.html
...
Followings are Japanese descriptions.
Google PageRank (ruby script/class)
Google ツールバーを使わずにページランクを取得する ruby スクリプト. (gpagerank の ruby 版みたいなもの)
ブラウザ用に配布されている Google のツールバーに表示される PageRank と同じもの.
module になっているので,転用もしやすい.
注
PageRank サーバへの query と reply の書式が 2007/05 に変わっていたらしい. 修正した. (2007-07-10)
ch 値の checksum の表現が, 最近の版では変わっている.
ver.2 では ch は 6 から始めるが, ver.3 では 7 から始めるらしい.
現在の gprank.rb は pagerank ver.2 を用いている.
注
- gprank.rb には不完全な URL の補完や調整を行う機能は作りつけてはいない.
つまり, ブラウザで読むときには
http://www.math.kobe-u.ac.jp/~kodama/ でも index.html を参照できるが,
gprank.rb ではこの形では参照できない.
完全な HTML ページ (http://www.math.kobe-u.ac.jp/~kodama/index.html のような) を与えること.
(サーバ側で対処しているようだ)
- Googleの PageRank データベースは文書ファイルの URL のみで,
文書内アンカーなどには対応していない.
gprank.rb はそのような URL を調整しないので,
参照するまえにそのような部分を URL から切り落としておく必要がある.
つまり,
http://www.math.kobe-u.ac.jp/~kodama/tips.html#ruby
のような URL の #ruby の部分は切り落として
http://www.math.kobe-u.ac.jp/~kodama/tips.html
として参照する必要がある.
PageRank の意味
PageRankは 0〜10 で評価される.
大雑把に云えば, ページへのリンクなどの重みを注目の度合と解釈して,
その対数を取ってランクに表示している.
(底が何かは公表されていないようだが仮に底が10としておくと,)
ランクが 1 違うだけでも, 10倍の違いを表している.
ランクが 2 違うと100倍(10^2),
ランクが 3 違うと1000倍(10^3),
というように ランクの違いはリンクの重みの桁の違いを表すと考えて良い.
個人サイトだと通常は 3〜4 程度で, かなり有名なページでも 5 が限界のような感じ.
しかし, 検索エンジンを意識したアクセス対策の流行で
個人ページのランクもインフレ気味らしい.
Blog 系では, 普通に 5 程度になるらしい.
相互に参照しあう事が多いなどの理由からか?
公的機関,教育機関などでは5程度で普通のようだ.
Google の検索では キーワードの一致 が最も重要.
同程度の一致のページに関しては PageRank を用いて表示の順をきめる.
言い替えると, ページランクを上げようと細かいことを考えるよりも,
検索してもらえるような充実した内容のページを作る方が重要ということ.
検索対象から外れている/登録されていない 原因
Google で検索をかけてもページが出て来ないことがある.
なぜ検索や PageRank の取得に引っかからないのか要因をまとめてみる.
- ページ内容の技術的な問題でキーワードが登録されない.
- Google に登録されてはいるが(PageRank は 0又はそれ以上の数値が表示される),
検索キーとの一致度や PageRank が低いので表示対象にならない.
上位 200個程度しか表示されない.
- Google に登録されていない.
(PageRank は NO_INDEX が表示される)
- 存在しない URL(入力ミスなど)
- ページを作ったばかりなので, まだ登録されていない
- どこからもリンクが無いため Google が発見できない
- Google のデータベースの更新中で結果が一時的に乱れている
- ページ内のリンクが多過ぎる.
(100個程度まで?)
- Google の運営方針により削除された(所謂, "Google八分")
- 検索エンジンスパム(検索エンジンを騙して順位を上げようとする行為)
- 内容に問題のある場合, 登録を削除することがあります.
Google から発見/登録できないページの対策
他からのリンクが無いなどの原因で Google から発見/登録できない場合の対策としては,
トップページを Googleに登録 すると良い.
これで, トップ以下のページは, トップからのリンクを辿って自動的に登録される.
登録とランクの計算が落ち着くまで 2〜3週間まってみましょう.
Google に登録されていないページ
Google に登録されていない場合 "NO_INDEX" を表示.
このページは, Google で検索をかけても表示されない.
$ gprank.rb -u http://www.math.kobe-u.ac.jp/~kodama/tips-RubyPoly.html
PageRank: NO_INDEX : http://www.math.kobe-u.ac.jp/~kodama/tips-RubyPoly.html
存在するがランクが低いページ
Google で検索して表示されない場合でも, 順位が低いだけという可能性もある.
一応, 検索対象にはなっているので, うまく合致するキーワードで検索すると表示される.
$ gprank.rb -u http://www.math.kobe-u.ac.jp/~kodama/tips-flicker.html
PageRank: 0 : http://www.math.kobe-u.ac.jp/~kodama/tips-flicker.html
html ページを一斉にしらべる(ランク別に整列)
PageRank の数値よりも Google に登録されていないページが結構あった事の方が重要.
tips.html のリンクが多過ぎるのが原因か?
$ cd ~/public_html
$ ls tips-*.html | xargs -l1 -i gprank.rb -u www.math.kobe-u.ac.jp/~kodama/\{\} | sort
...
PageRank: 0 : www.math.kobe-u.ac.jp/~kodama/tips-AKS-prime.html
PageRank: 0 : www.math.kobe-u.ac.jp/~kodama/tips-APRCL-prime.html
...
PageRank: 3 : www.math.kobe-u.ac.jp/~kodama/tips-EBB.html
PageRank: 3 : www.math.kobe-u.ac.jp/~kodama/tips-EtherAddress.html
...
PageRank: 4 : www.math.kobe-u.ac.jp/~kodama/tips-HyperReal.html
PageRank: 4 : www.math.kobe-u.ac.jp/~kodama/tips-latex2html-custom-titles.html
...
PageRank: NO_INDEX : www.math.kobe-u.ac.jp/~kodama/tips-RubyPoly.html
PageRank: NO_INDEX : www.math.kobe-u.ac.jp/~kodama/tips-backup.html
...
無造作に WWW ページを作ると 0〜3 程度になるみたいだ.
(Kodama's tips page の下では...)
検索対象になったときの他のページとの比較の問題なので,
技術系のページとしてどうかって事だが...どうなんだろう?
最近は 4〜5 程度にインフレ気味. 何故だ?
Kodama's home / tips.