Web API関連(livedoor clip・PageRank)
Web APIをRubyで参照する時のメモ。livedoor clip件数とGoogleのPageRankを取得する。
#!/usr/bin/ruby require 'xmlrpc/client' require 'net/http' Net::HTTP.version_1_2 require "rexml/document" username = "geiinbashoku2" # livedoor clip数 srv = XMLRPC::Client.new2('http://rpc.clip.livedoor.com/count') p srv.call('clip.getCount', "http://d.hatena.ne.jp/#{username}/").values[0].to_i # PageRank Net::HTTP.start("www.trynt.com"){|http| response = http.get("/google-pagerank-api/v1/?u=http://d.hatena.ne.jp/#{username}/") body = REXML::Document.new response.body p body.elements.to_a("//Pagerank")[0].text.to_i }
livedoor clipのクリップ件数は指定したページの件数のようなので注意。なお実際に使うときにはエラー処理をするべき。
参照
被はてなブックマーク数の平均
「はてなダイアリーのPageRank - 鯨飲馬食コード」の結果から被はてなブックマーク数の平均を求めてみた。前回記したが、サンプルは被はてなブックマーク数のトップ500のダイアリーである。
PageRank | 平均 | 標準偏差 | 最大 | 最小 |
---|---|---|---|---|
6 | 22938.5 | 6760.5 | 29699 | 16178 |
5 | 10042.3636363636 | 9703.83544109073 | 42019 | 1334 |
4 | 3489.49679487179 | 2990.66498693723 | 19822 | 1156 |
3 | 2256.91891891892 | 1297.63690374712 | 8666 | 1169 |
2 | 2946.28571428571 | 1840.17582345397 | 7296 | 1510 |
調べてみたはいいがなんとも言えない。サンプルの範囲を広げないことには。
はてなダイアリーのPageRank
前回の「個人ニュースサイトのPageRank - 鯨飲馬食コード」の連なりとして、今回はソーシャルブックマークとPageRankの相関を見てみたかったので、被はてなブックマーク数が多いはてなダイアリーのPageRankを調べてみた。
対象としたのは2009年01月15日に「TopHatenar - あなたのはてなー順位が分かります」の被ブックマーク数が多かったダイアリーである。以前作っておいた「TopHatenar URL Getter 鯨飲馬食コード+」を使って上位500ダイアリーのURLを得て入力とした。なお前回と同じく「TRYNT Google Pagerank Web Service // Trynt Heavy Technologies」を用いてRubyで処理した。計測したのは2009年1月15日の21時ごろである。
分布は以下のとおり。
PageRank | ダイアリー数 | |
---|---|---|
6 | 2 | |
5 | 55 | |
4 | 313 | |
3 | 111 | |
2 | 7 |
PageRank1及び0(エラー含む)はリストから除外した。ざっと見た感じでは、被ブックマークが多いのにも関わらずPageRankがあまり高くないダイアリーは更新が停止しているか(削除されているか)、もしくはプライベートモードになっていることが多いようだ。
被ブックマークが10000を超えているのにPageRank4というのはいささか低いような気がするが、まぁこれもPageRankが変動しているからかもしれない(もしくは5との境界線上にいるか)。また時期を変えて再計測することにする。5を超えている個人のダイアリーは凄いと思う。
なお余談だが、TopHatenarでid:i__iのページ(「[TopHatenar] i___i さんの順位」)を見ると被ブックマーク数が1300を超えているが、ブックマーク詳細を見るとブックマークの大半はid:i_ogiのものとなっている。これはTopHatenarのせいというよりはむしろはてなブックマーク側の問題("_"の取り扱い)なのだろう。よく分からないけど。
以下結果。
続きを読む個人ニュースサイトのPageRank
「個人ニュースサイトのURLデータセット(2008年10月) - 鯨飲馬食コード」のデータ(nstesting.txt)を入力として用いて、各サイトのPageRankを調べてみた。APIとして「TRYNT Google Pagerank Web Service // Trynt Heavy Technologies」を利用してRubyで処理した。またサイト名はHTMLから機械的に抜き出し、その後人手で補完した。計測したのは2009年1月13日の14時40分前後。
分布は以下のとおり。計548サイト。
PageRank | サイト数 |
---|---|
6 | 14 |
5 | 86 |
4 | 240 |
3 | 171 |
2 | 35 |
1 | 2 |
全体的にPageRankは高めという印象である。ソーシャルブックマーク、特にはてなブックマークの影響がどれほどのものかも気になるところ。これもぱっと見の印象だが、外向きのリンクよりも内向きのリンクが多そうなサイトが高いPageRankをつけているようである。言い換えれば、外向きのリンクが比較的多いサイトはページビューなどが多い割にはPageRankは伸びないのかもしれない。
なお、前の記事でPageRankの変動中なのではないかと書いたのに、そのことをすっかり忘れていた。PageRankが0のサイトは除外したが一時的な変動のためだったのかもしれない。また今回はレスポンスとして301(Moved Permanently)を返してくれるサイトがいくつかあったので処理が楽だった。サイトの移転の際にはHTMLやJavaScriptで新しいページに移動することが多いが、HTTPのステータスコードを用いた方がいいと個人的には思う。こうするとPageRankの移行も速やかに行われるはずだ。
以下結果。
続きを読む個人ニュースサイトのURLデータセット(2008年10月)
「はてなアンテナの登録数ランキング(個人ニュースサイト篇) - 鯨飲馬食コード」を元に作った個人ニュースサイトのURLデータセットを「News Site URL Dataset 鯨飲馬食コード+」に公開した。
新しいデータ(ns20081011.txt)は前回のデータ(ns20080706.txt)からいくつかのURLを除外および追加した。除外したURLは主にリンク切れしていたものと、2008年に更新がないサイトのもの、明示的に更新を停止もしくは移転した旨が記載されていたサイトのURLである。追加した主なURLは移転先のURLと更新が停止したサイトで推薦されていたサイトのURLである。ただ、あまり厳密な基準を設けたわけではない。またドメインが売買された形跡があるサイトもあったが、判断できなかったものはそのままにした。
オリジナルのデータ(parallels2.txt)自体が新興ニュースサイトのURLを含んでいないので、新しく集めなおす必要があるだろう。なお前回の機械的な処理の途中で抜け落ちたものもあるとみられる。例えば「かーずSP」(はてなアンテナ被登録数1033)は含まれていない。
ついでに新しいデータ(ns20081011.txt)を「Hatena Antenna Counter 鯨飲馬食コード+」に入力として与えて、前回と同じようにはてなアンテナ被登録数でランキングした。計測は2008年10月12日23時5分から40分(JST)の間(10時のデータから差し替えた)。
以下結果。なお被登録数が0のサイトはランキングから除外した。
続きを読む