Twitter search APIのJavaScriptプログラム習作について (#twrate_js)

@maruyama3 のツイートに触発されて、気晴らし&息抜きに作成したJavaScriptプログラムの使い方その他の自らの説明をまとめました。 実用的な完成度ではないですが、JavaScriptを使ってTwitter APIで遊ぶ参考にはなるかと思います。 http://lyric.slis.tsukuba.ac.jp/~saka/twitter/twrate.html
3
丸山高弘@平日は山中湖-週末は清里のまるさん @maruyama3

twitterで特定の検索条件で、単位時間あたりのつぶやき数をカウントできるサービスって、無いかなぁ?例えば「山中湖が入っているつぶやきは一日何件」とか。

2010-05-08 10:58:21
Tetsuo Sakaguchi @tsaka1

@maruyama3 API仕様では1日とかいうのはちょっと面倒かも。最新検索結果100件程度が何分間なので、〇〇tw/hって感じなら割とすぐだと想いますが、、。Search APIは上限があって1500ツイートまでしか出せないし、それも最大でも200ツイート単位なので。

2010-05-08 11:02:21
丸山高弘@平日は山中湖-週末は清里のまるさん @maruyama3

@kuniyaki @tsaka1 やりたいのは、「山中湖つぶやき」と「八ヶ岳つぶやき」数が1時間、1日、1週間、一ヶ月でどのくらい違うか…を比較したいと思っているのです。

2010-05-08 11:06:36
Tetsuo Sakaguchi @tsaka1

@maruyama3 @kuniyaki 探したい語が決まっていれば、それでずっとデータ収集すれば収集期間中はなんとかなるかも。ただ、任意の語でとなるとAPI上限があるので、1ヶ月ぐらいになると難しいかも(難しくなかったら、あまりツイートされてないことになるので哀しいことに:-)

2010-05-08 11:10:44
Tetsuo Sakaguchi @tsaka1

.@maruyama3 ツイートの検索、日と時間毎に数えるJavaScript出来ました。queryに入力してsearchをクリック、しばらくして右下が完了になったらcalculate totalをクリック。firefox用? http://tinyurl.com/26xykd6

2010-05-13 00:17:56
Tetsuo Sakaguchi @tsaka1

.@maruyama3 もしわからないことがあれば御気軽に。ただ安直に作ったので蓄積しませんからせいぜい直近の数日分程度しか出来ません。気晴らしに出来るのはそこまでです。しばらくはお忙しいと思うので、後ほどまたお知らせするかもしれません。

2010-05-13 00:20:06
Tetsuo Sakaguchi @tsaka1

ここ数日の気晴らしプログラミングだん!。気晴らしとはいえニーズが無いとね。なお、気晴らしなので、UI的には手抜きです。(検索完了をユーザが様子を見る:-) JavaScriptでTwitter APIをいじる参考にはなるかも http://tinyurl.com/26xykd6

2010-05-13 00:22:43
Tetsuo Sakaguchi @tsaka1

#twrate_js 本日0時過ぎにできたプログラム「JavaScriptでツイートの検索と時間&日辺りの数を数える」の若干の解説をします。ご興味のない方には申し訳ありませんが、このハッシュタグを除外ください。なお、後ほどtogetterする予定です。

2010-05-13 01:23:05
Tetsuo Sakaguchi @tsaka1

#twrate_js このプログラムは右のURLで誰でも使用することが出来ます。ただし動作確認はWindows版のFirefox3.6のみです。 http://lyric.slis.tsukuba.ac.jp/~saka/twitter/twrate.html

2010-05-13 01:24:50
Tetsuo Sakaguchi @tsaka1

#twrate_js また、このプログラムはあくまでも習作として作成したので一切の保守・維持管理の予定はありません。Twitter search APIの仕様変更やサーバの停止などによって予告なしに使用できなくなる可能性があります。

2010-05-13 01:28:49
Tetsuo Sakaguchi @tsaka1

#twrate_js 加えて、エンドユーザ向けとして作ったわけでもないので、その動作をよく理解した上でご使用ください。なお、機能改善などの要望を反映する予定もないので、より良い機能を臨む場合はこのプログラムを元に各自で改善版を作成していただければと思います。

2010-05-13 01:32:32
Tetsuo Sakaguchi @tsaka1

#twrate_js このプログラムの作成のきっかけは @maruyama3 さんの 『twitterで特定の検索条件で、単位時間あたりのつぶやき数をカウントできるサービスって、無いかなぁ?例えば「山中湖が入っているつぶやきは一日何件」とか。』というツイートです。

2010-05-13 01:38:40
Tetsuo Sakaguchi @tsaka1

#twrate_js 次に使用手順を説明します。大まかな流れは、検索条件を入力し、検索結果がすべて揃うのを待ち、集計を指示する、となります。

2010-05-13 01:41:12
Tetsuo Sakaguchi @tsaka1

#twrate_js 手順1、URLをFirefoxに指定して、ページを開き、query欄に検索条件を入力します。localeはAPIにあるのですが常にjaで問題はなさそうです。そしてsearchボタンをクリックすると検索を始めます。Enterキーでは検索しません。

2010-05-13 01:44:34
Tetsuo Sakaguchi @tsaka1

#twrate_js 手順2、検索は100件単位で最大約15回API呼び出しを行うので、少し時間がかかるので、しばらく待ってください。徐々に検索結果一覧がページ下部に追加され、API呼び出し回数と検索結果件数が増えていきます。

2010-05-13 01:47:36
Tetsuo Sakaguchi @tsaka1

#twrate_js 手順3、しばらくすると件数が増えなくなり、Firefoxの左下が「完了」(日本語版)となれば検索完了です。そうなってから、calculate totalボタンをクリックすると集計を開始します。なお、TimeZoneをローカルタイムではなくUTCにもできます。

2010-05-13 01:50:14
Tetsuo Sakaguchi @tsaka1

#twrate_js 手順4、Tweets per hour/day resultsのところにCSV形式で集計結果が表示されます。なお、全くツイートがない時間帯や日については、その行自体が存在しません。CSVファイルに保存したい場合はこれをコピー&ペーストしてください。

2010-05-13 01:52:27
Tetsuo Sakaguchi @tsaka1

#twrate_js 手順は以上ですが、このプログラムはFirefox上で実行されるので、API上限(1時間最大150回)はFirefoxを使用しているPCのIPアドレスに効きます。単独では1検索で最大15回ですが、特にNATを使っている場合は注意が必要でしょう。

2010-05-13 01:55:05
Tetsuo Sakaguchi @tsaka1

#twrate_js また、Twitter search APIではある程度以上古いツイートは検索出来ません。また、検索結果としては最大1500ツイートまでという上限があるので、このプログラムでは実質数日分の集計しか出来ません。

2010-05-13 01:56:19
Tetsuo Sakaguchi @tsaka1

#twrate_js その辺の制限を超える範囲の集計などが必要な場合には一定周期で検索を行い、結果を蓄積するなどの工夫が必要だと思われますが、このプログラムは一種の気晴らし・息抜きで作成したものなので、そこまではサポートしていません。

2010-05-13 01:58:14
Tetsuo Sakaguchi @tsaka1

#twrate_js このプログラムはTwitter search APIがHTTP GETメソッドで、結果をJSON形式で返すという仕様から、ブラウザで実行するJavaScriptのみである程度出来るのではないかという着想の確認のために作りました。

2010-05-13 02:01:37
Tetsuo Sakaguchi @tsaka1

#twrate_js 以上の説明のようにあくまでも試作の域を越えてませんので、利用についてはat your own riskでお願いします。なお、JavascriptにはCopyright記述をしましたが、使用については特に制限を設けません。

2010-05-13 02:04:34
Tetsuo Sakaguchi @tsaka1

#twrate_js もし、このプログラムに手を加えたものを公表する際には、一言このプログラムへの参照を記述していただければと思います。このプログラムがTwitter APIをJavaScriptから使用する際の参考になれば幸いです。以上。

2010-05-13 02:07:20