100000個ものサイトについて、googleのPageRankを調べる必要があります。 効率的な調べ方を教えてください。 料金を支払って人に調べて貰うことはNGでお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/05/02 17:35:02
  • 終了:2006/05/09 17:35:05

回答(7件)

id:bonlife No.1

回答回数421ベストアンサー獲得回数752006/05/02 17:57:10

ポイント18pt

20個ずつ調べられるので、5,000回の検索で済みます。

とは言え、大変な作業ですよね…。

CAPTCHAを使っているので上記サイトを使った自動化は難しいですし。

もっと良い手段がある気もしますが、1個ずつ調べるよりは少しは効率的だと思いましたので、回答いたしました。

参考になれば幸いです。

id:yzb No.2

yzb回答回数18ベストアンサー獲得回数22006/05/02 21:52:45

ポイント17pt

#完全な回答ではないのでポイント不要です#

本来ですと、googleのWeb-APIでPage Rankが応答されれば、

PC上で、Web-APIを叩くプログラムを書いてぐるぐる回せば、

サイトとそれに対応したページランクが集められるのですが、

現在のgoogle Web-APIではPage Rankは戻り値に含まれません。

場当たり的な方法ですが、、こんな方法もある、、ということで

ご回答します。

Page Rankは、IE等に、google toolbarを入れていれば

表示されますよね。

google toolbarのPage Rankはgoogleのサーバと通信して

その結果に基づき表示します。この通信はhttp通信を使って

います(SSLはかかっていません)。幸い、ethereal等の

ツールを使えば、http通信(SSLを使わない素の通信)の

パケットをキャプチャして表示することができます。また、

Page Rankに関する通信パケット中には、Rankという文字が

必ず含まれます。

ですので、100000個ものサイトを自動でやろうとするなら、

Windowsの.batファイルかなんかバッチで走らせて

IEでどんどんページを表示させ、(tool barに通信させて)

その通信内容を、tetherealで自動的に情報を集める。。と

いうわけです。


具体的に書きますと。。

tetherealが使える環境でパケットをキャプチャし、

パケット中の、Rankという情報付近を抜き出せば

Page Rankが得られます。

例えば、Windows上で、CygWin + Etherealの環境があれば、

以下のコマンドを使えば、パケット中、Rankという文字を含む

情報を検索して閲覧することができます。

$ ./tethereal.exe -V -f "tcp port 80" | grep Rank

(意味は、-V:詳細表示、 -f "tcp port 80" http通信だけ取得、

 grep Rank : Rankが含まれる行だけ表示)

tetherealの入れ方は、googleなんかで、etherealとすれば

見つかります。(参考ページを追伸に付けます)

もっと使いやすいパケットキャプチャもあるかも

しれません。なお、grepコマンドはCygwinのを使っています。


ややこしすぎてすみません。どうにかこうにかやろうとしたら

こんな方法もあるということで、もし周りに、こういった事に

詳しい人がいたら伝えてみてください。

なお、自分でも少しやってみましたが、1サイトに対して、複数の

Rankパケットが返ることもあり、何件かはピックアップして

目視確認も必要です。。

リバースエンジニアリングっぽいですが、tool barをどうにか

しているわけではなく、通信を見てるだけなので許される範囲かとは

思います。(多分。。)

■追伸

URL必須だったので、参考サイトを追記します

etheralの参考サイト

http://www.space-peace.com/ethereal/

cygwinの本家サイト

http://cygwin.com/

id:shun262 No.3

shun262回答回数95ベストアンサー獲得回数32006/05/02 21:54:43

ポイント17pt

ここのようなサイトで、後はスクリプトなどを書いて10000回分やってファイルに落としたりしたらどうでしょうか。

でも、サーバの負荷などを考えて作らないと、怒られます^^;

id:aoinatsunosora No.4

aoinatsunosora回答回数131ベストアンサー獲得回数72006/05/02 22:09:27

ポイント17pt

10000件をリンクしたページを作り、どっかにアップしそのページのURLを下記サイトに通す。

http://www.webmastereyes.com/

一発でページランクが表示されるでしょう。

その結果を保存して終了。

id:worstman No.5

最低人間回答回数121ベストアンサー獲得回数62006/05/02 22:32:18

ポイント17pt

PerlモジュールのGoogle::PageRankを使われては如何でしょうか。

URLリストを作成し、Perlスクリプトでそれぞれの結果をテキストファイルに記述していくのが一番容易な方法だと思われます。

http://blog.takawo.net/000035.html

id:takoratta No.6

takoratta回答回数72ベストアンサー獲得回数52006/05/05 18:28:38

ポイント17pt

以前、必要に迫られて作ったWindowsのコマンドラインのプログラム(EXE)がありましたので、それを公開します。

http://www.geocities.jp/aztectim/software/index.html#PAGERANK

WWW::Google::PageRankをそのまま用いたPerlのスクリプトをEXEにしたものです。使い方は単純でpagerank.exeにサイト名(http://www.hatena.ne.jpのようにhttp://をつけた形式)を引数として渡すことでPageRankを取得できます。

c:\>pagerank サイト名

また、上のページにも書いてありますが、ZIPファイルの中にpagerank.vbsというVBScriptを入れてあります。こちらを使うと、サイト名+改行で列挙したファイルを読み込ませることで、サイト名とPageRankをCSV形式で出力させることができます。

a.txtというファイルに

http://www.asahi.com/

http://www.msn.co.jp/

http://www.microsoft.com/

http://www.hatena.ne.jp/

http://www.goo.ne.jp/

と記述されていた場合、次のような出力を得られます。

c:\>cscript -nologo pagerank.vbs a.txt

http://www.asahi.com/,7

http://www.msn.co.jp/,7

http://www.microsoft.com/,9

http://www.hatena.ne.jp/,7

http://www.goo.ne.jp/,8

WWW::Google::PageRankを使って直接Perlスクリプトを書くほうが効率的ですが、もしPerlを使えない環境の場合にはこちらをお使い下さい。CSVをファイルに出力したい場合にはリダイレクトさせてください。

id:GimmePR No.7

GimmePR回答回数41ベストアンサー獲得回数22006/05/07 03:28:27

ポイント17pt

Googleのサービス規約に反しないように気をつけないといけません。そもそもページランクはツールバー以外では、使用しないようにGoogleは言っています。Pagerank表示は流行っていますが、Googleがその気になり次第で、彼らのサイトがサーチエンジンから除去される事もあります。ページランクをチェックするにあたって、個人でスクリプトを作り100000ものページランクを調べるなら、IPをブロックされるでしょう。Googleのツールバーで100000のページに訪れるか、 bonlifeさんの言っているように http://www.pagerank.net/pagerank-checker/ で20個ずつ5,000回検索するしかありません。

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません