Kikker WebAPIを強化

いくつかAPIを足したり、既存のやつで得られる情報を増やしました。
というのも、KikkerRailsに移植する(エンジンは今まで通りJavaでViewだけRails)にあたって、自分も適切なAPIがないとどうしようもないわけですよ。


まず、すでにあった
http://d.hatena.ne.jp/kanbayashi/20060714#p2
APIはタグ情報とカテゴリ,クロール日時も得られるようにしました。


あと、APIを2つ足しました


require 'xmlrpc/client'
require 'kconv'

client = XMLRPC::Client.new3(:host => 'ryogrid.myhome.cx',:port => 7777)
#検索するドキュメントのタイプ 2=はてブ 3=CEEK.JP NEWS 4=Youtube 他=だめぽ
doc_type = 2

#ドキュメントのタイプと検索したいキーワードを与えてコール
rpc_result = client.call 'KikkerWebAPI.searchByKeyword',doc_type,"web"

#ドキュメントのタイトル,url,クロールされた日にち,カテゴリ,タグとそれに対応する強さの値の順に出力
rpc_result["titles"].each_index{|index|
print rpc_result["titles"][index].tosjis + " : " + rpc_result["urls"][index] + " : " + rpc_result["crawled_dates"][index].to_s + " : " + rpc_result["categories"][index].tosjis + "\r\n"
rpc_result["tags"][index].each{|each_keyword|
print each_keyword[0].tosjis + "=" + each_keyword[1].to_s + ","
}
print "\r\n"
}


結果は


【 Yeti PaPa 】 ? 機種依存文字について : http://www.yetipapa.com/support/denial_code.html : 2006-08-09 : 一般
bx=39830.927976,bw=37276.317099,bv=34721.706222,bu=32167.095345,bz=9864.350118,webmaster=1153.017069,ld=1151.7663075,web=1150.8398175,reserved=1150.0059765,rights=1149.959652,

ゲームブックの作り方 @Wiki - トップ : http://www11.atwiki.jp/finalquest/ : 2006-08-09 : ウェブ
web=10.0,ゲーム=10.0,無駄=1.0,アイデア=1.0,ゲームブック=1.0,技術=1.0,@wiki=1.0,

アイコン-Icon-INDEX : http://www9.pobox.ne.jp/~neon/icon/icon_index.html : 2006-08-09 : コンピュータ
web=10.0,素材=10.0,index=1.0,アイコン=1.0,存在=1.0,メール=1.0,ボタン=1.0,
WS-I Sample Application Blog Series: Web Service Implementation Strategy : https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4150 : 2006-08-09 : ウェブ
sap=10.0,sdn=10.0,ws-i=10.0,web=1.0,ws=1.0,strategy=1.0,blog=1.0,

となります。


詳細↓
サービス名=KikkerWebAPI
メソッド名=searchByKeyword
できる事=キーワードに関するエントリのリストを得る


メソッド呼び出しのパラメータは


・ドキュメントのタイプ(int)。現状、2(はてブのエントリ)か3(CEEK.JP NEWSからのエントリ)、4(Youtubeのビデオ)のみ
・キーワードの文字列(string)


をこの順で渡して下さい。


返り値は、


・titles : タイトル文字列(string)の配列
・urls : 対応するurl(string)の配列
・crawled_dates : 対応するクロール日時の文字列の配列。形式は"2006-08-21"という感じ
・categories : 対応するドキュメント群のカテゴリ(はてブとかから持ってきてるやつ)の配列
・tags : 対応するドキュメント群の各ドキュメントについてのタグの配列の配列。つまり、他の返り値と違って0番目にキーワード,1番目に対応する値をもった2次元配列を要素とする配列が入れ子になって入れられているということ。

ex) 0番目のドキュメントの0個目のタグのキーワード→result["tags"][0][0][0]

0番目のドキュメントの0個目のタグの強さ→result["tags"][0][0][1]


です。



はい、次。


require 'xmlrpc/client'
require 'kconv'

client = XMLRPC::Client.new3(:host => 'ryogrid.myhome.cx',:port => 7777)
#検索するドキュメントのタイプ 2=はてブ 3=CEEK.JP NEWS 他=だめぽ
doc_type = 2

#ドキュメントのタイプと検索したいURL(Kikker内ですでにクロールされてるやつ)を与えてコール
rpc_result = client.call 'KikkerWebAPI.getTasteByURL',doc_type,"http://q.hatena.ne.jp/1120221211"

#ドキュメントのタイトル,クロールされた日にち,カテゴリ,タグとそれに対応する強さの値の順に出力
print rpc_result["title"].tosjis + " : " + rpc_result["crawled_date"] + " : " + rpc_result["category"] + "\r\n"
rpc_result["tags"].each{|each_keyword|
print each_keyword[0].tosjis + "=" + each_keyword[1].to_s + ","
}


結果は


人力検索はてな - たとえば、地球から土星まで届くような棒を用意したとします。それを押したり引いたりしてモールス信号で通信を行えば、光速を超える速さで情報のやりとりができ : 2006-08-08 : サイエンス
検出=297.240608,器=276.045792,日記=266.372096,光=197.229456,roygb=117.485217,log=117.299919,ayamnb=114.705747,力学=109.292472,プラトン=109.004532,彡=106.62231,3
こんな感じ

詳細↓
サービス名=KikkerWebAPI
メソッド名=getTasteByURL
できる事=与えたURLを表現するベクトルを得る(Kikker内ですでにクロールされているURLに限る)



メソッド呼び出しのパラメータは


・ドキュメントのタイプ(int)。現状、2(はてブのエントリ)か3(CEEK.JP NEWSからのエントリ)、4(Youtubeのビデオ)のみ
・URLの文字列(string)


をこの順で渡して下さい。


返り値は、
・title : タイトル文字列(string)の配列
・crawled_date : 対応するクロール日時の文字列(string)。形式は"2006-08-21"という感じ
・category : 対応するドキュメント群のカテゴリ(はてブとかから持ってきてるやつ)の配列
・tags : 対応するドキュメント群の各ドキュメントについてのタグの配列。0番目にキーワード,1番目に対応する値をもった2次元配列を要素とする配列が入れ子になって入れられているということ。
ex) 0個目のタグのキーワード→result["tags"][0][0]
0個目のタグの強さ→result["tags"][0][1]

です。

Today's (hoge)^2

  • 断片部 - 甘くておいしいおイモだよ〜 - はてブのお気に入り/入られ関係を可視化したいなあ

http://fragments.g.hatena.ne.jp/SweetPotato/20060730/1154262788
断片部 - 186::fragments - 技術/はてな/ブックマーク/fav可視化 - Woshare wiki
http://fragments.g.hatena.ne.jp/smoking186/20060802/1154517944
うほ。はてブじゃないけど、すでに近いものができてるっぽい。

  • YouTube - PenSpinning プロモ10

http://www.youtube.com/watch?v=vN_08AK7Qag
ペン回しもここまで来れば一芸か。

  • 日刊スレッドガイド:中学時代は秀才だったが、後に負け組に

http://guideline.livedoor.biz/archives/50636280.html
言いたいことは分かるんだけど、悲観的なことばかり書いてあって萎える。
「これからまた頑張ろうと思ってる」の一言でも言ったらどうなんだろう。

  • 800個以上のの背景パターンを入手できるサイト「Kaliber10000」 - GIGAZINE

http://gigazine.net/index.php?/news/comments/20060808_pattern/
背景素材。φ(`д´)メモメモ

  • 人力検索はてな - たとえば、地球から土星まで届くような棒を用意したとします。それを押したり引いたりしてモールス信号で通信を行えば、光速を超える速さで情報のやりとりができますか?..

http://q.hatena.ne.jp/1120221211
( ・ g・)うそーん。力も波のように伝わるのか。SFだな。