Hatena::ブログ(Diary)

Ryoの開発日記 RSSフィード

"おもしろきことも無き世をおもしろく"



個人サイト( ryogrid.net )|| プロフィール || 業績等
大学時代の研究 || ddkの日記 || tyouiifanの日記 || Yoshikuniの日記
あなくつと愉快なソフトウェアたち|| CLKs
Ceekz Logs||RyoのFacebook||Ryoのmixi|| 登 大遊@筑波大学情報学類の SoftEtherVPN日記
はてなブックマークをマッシュアップした情報推薦サービス
TOFU-G||高校時代の活動|| 分散マシン操作ライブラリ Svengali
Linkedin|| Google+|| ひらめいったー
Ryoのつぶやき ||Ryoに響いた言葉 ||Ryoの本棚 ||スマホでキャッチボールのキャチボ
qiita||github|| 顔面偏差値スカウター||機械学習でFXシステムトレード

2006-07-14 帰省一週間目-まだまだ埼玉-

原因究明

無理やりRPCのメッセージとかを読んでみるとrubyの投げてるメッセージは適切なご様子。

ということはサーバが問題か。


んー。アッ( *゚д゚)♀

Kikker サーバリンクしてるApache XML RPCのライブラリが昔のやつだ(´ヘ`;)*1

というわけで、最新のをリンクすると。rubyからも叩けた!!


( ´Д`) < 俺の費やした数時間・・・

Kikker Web API 公開!!

というわけで公開しますよ。

rubyでのサンプルコード

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

#キーワード配列
keyword_arr = Array.new
keyword_arr << "web"
keyword_arr << "ajax"

#キーワードに対する趣向値の配列
taste_value_arr = Array.new
taste_value_arr << 1000.0
taste_value_arr << 200.0

rpc_result = client.call 'KikkerWebAPI.search',doc_type,keyword_arr,taste_value_arr

#ドキュメントのタイトル,url,類似度による評価値,クロールされた日にち,それぞれのページに関するタグとそれの強さの値、の順に出力
rpc_result["titles"].each_index{|index|
  print rpc_result["titles"][index].tosjis + " : " + rpc_result["urls"][index] + " : " + rpc_result["eval_points"][index].to_s + "point : " + 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"
}


上のようなコードを書くと


404 Blog Not Found:Peer Reviewの薦め : http://blog.livedoor.jp/dankogai/archives/50589034.html : 106.322529654459point : 2006-08-06

秋葉原で新CPUCore 2 Duo」を深夜販売、約200人の行列も:ITpro : http://itpro.nikkeibp.co.jp/article/NEWS/20060805/245242/ : 98.6920584964812point : 2006-08-06

PCの利用状況を漏れなく記録??ライフボートが監視ソフトを発売:ITpro : http://itpro.nikkeibp.co.jp/article/NEWS/20060804/245240/ : 89.6112983444513point : 2006-08-05

注目のテレビ映像送信ソフト使って“どこでもテレビ”に挑戦:ITpro : http://itpro.nikkeibp.co.jp/article/NEWS/20060804/245241/ : 88.1450782671742point : 2006-08-05


こんな結果が得られます。

サンプルコードを見れば分かると思うけど、仕様としては


RPCの仕様: XML RPC

サービスホストアドレス= ryogrid.myhome.cx:7777

サービス名=KikkerWebAPI

メソッド名=search

できる事=与えた趣向情報に近い内容のエントリリストを得る


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

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

キーワードの文字列(stringの入った配列)

キーワードの文字列に対応した趣向値(double*2の入った配列)


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

キーワード配列と趣向値の配列は中身の各要素の位置が対応するもので一致しているように入れて下さい。

キーワードは100個まで。


返り値は、

・titles : タイトル文字列(string)の配列

・urls : 対応するurl(string)の配列

・eval_points : 対応する評価値(double((もしくはfloat?)))の配列

・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]

です。

はてブックマークきぼんぬ


このAPIで何ができるのか検討もつかない人はとりあえずKikker使ってみて

http://ryogrid.myhome.cx:1234/


うひゃー。Kikkerのおいしいところの80%ぐらいは開放しちゃいましたなー。

皆使ってね(* ^ー゚)ノ。質問があればコメント欄へどぞ。


ニュースサイトの管理者の方など紹介していただけると幸い(・∀・)ニヤニヤ。


#↓他にもAPIを追加したのでそちらもご覧あれ 2006/8/10


http://d.hatena.ne.jp/kanbayashi/20060809#p1

午前

⊂( ⊂(´_ゝ`)ぐー

密会

人に会ってきた。で、いろいろと話が進んだ模様。詳細は秘密

新たなMovementか?(投票)

帰宅

10時過ぎに帰宅。


カタカタ。

Today's (hoge)^2

http://journal.mycom.co.jp/news/2006/07/11/342.html

パーサ界のIEか。ちょとおもしろいな。

http://d.hatena.ne.jp/igucci/20060710/1152545138

論文検索。いいねいいね。

http://japan.cnet.com/sp/nils2006s/story/0,2000062938,20166467,00.htm

企業の方々ラボはどんどん作りましょう*3

http://tool.stabucky.com/google/gadget_howto.htm

所用でやることになった。

結構簡単。でもあんまり注目されてないよね。


Google、賞金総額8,000ドルの“ガジェット”制作コンテストを開催

http://www.forest.impress.co.jp/article/2006/06/28/googlegadgetscont.html

こんなのもある。あ、でもデスクトップ ガジェット・・・・?、ん。

http://ryogrid.myhome.cx:1800/keyword=tommy%20heavenly&page=1

イイ(・∀・)。アルバム借りてこようかな。

*1:他のサービスでは最新のを使ってたので気づかなかった

*2:もしくはfloat?

*3:だって僕の行く先が無くなっちゃうもん

YutaroYutaro 2006/07/14 16:49 13位でしたぁ。。
kikkerで英語のキーワード入れてやろうとしたらできなかった罠・・・大文字はダメとかでしょうか?orz

ryoryo 2006/07/14 16:50 いや、英語は大丈夫だよ。ってか日本語より好ましい。
なんかフォーマット間違ってたりしないかな?

taktak 2006/07/15 17:16 Kikker ではAPIなんか公開してませんか
もうすでに過去blogに書いてるかもしれませんが

RyoRyo 2006/07/16 00:36 上の記事でのWebAPIではだめでしょうか?
http://d.hatena.ne.jp/kanbayashi/20060714#p2

Web APIじゃなくて、単純にKikkerっぽいことをするためのライブラリを公開していないかということでしょうか。

YutaroYutaro 2006/07/16 17:17 Your Input is ellegal!!
(;・ω・)(;´・ω・`)(;´・д・`)
ってなっちゃうのです・・・キーワード多すぎとかでしょうかorz日本語訳して入れてみても同じ状況になっちゃいましたorz
ところで・・・自動的にキーワードが追加されるのはまぁいいのですが・・・あの小数点以下何桁だかわからん大量の数値とかはどうにかなりませんか(-_-;)

taktak 2006/07/20 13:21 いや、もっと直接的に

URL,タグ/キーワード,登録ユーザ の生データベースを参照するような真似ができないかというのが
要望です。

このURLは? ⇒ ブックマークしてる人、その人が登録したキーワード

キーワードとかユーザの方をクエリーにも

RyoRyo 2006/07/20 13:53 はてブからの情報全てを取り込んでいるのではなく、Kikkerとして必要なものだけなのでお望みのようなことは、私がWeb APIとして公開するにしても難しいですね。


現状のWebAPIで返ってくる情報に日付やブックマーク数をくっつける、ということぐらいなら可能ですが。

Connection: close