人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Twitter検索 : Search
http://twitter.1x1.jp/search/

こういうTwitter検索ってどうやって実現しているのでしょうか?(実現していると思われますか?)
Twitterでは検索APIは提供していませんし、検索エンジンの提供している検索APIでsite:twitter.comで検索しているのかと思いきや、発言が一瞬で反映されるので検索エンジンのAPIではなさそうです。
public timelineをcronか何かでガシガシ取得しているのかというのも考えましたが、やはり発言が1秒かからずに検索に反映されているところを見ると、それも違いそうです。(1秒間に何十件も投稿されているのでF5アタックのようなアクセスが必要ですし、そんなのを繰り返していたらAPI利用停止されそうです)
さっぱり検討がつきません。
「こんな感じじゃないの?」というアバウトな回答でもかまいませんので、どなたか可能性のありそうな方法がありましたら教えて下さい。

●質問者: mreurm
●カテゴリ:ウェブ制作
✍キーワード:API F5アタック アクセス 投稿 提供
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kuramoto
●35ポイント

CakePHPを、

http://www.cakephp.org/

使って実現してるようですね。

http://www.1x1.jp/blog/category/web_service/page/2/

◎質問者からの返答

CakePHPにはTwitterの過去ログを検索する機能は無いのですが…


2 ●
●35ポイント

Rate Limiting

Clients are allowed 70 requests per 60 sixty minute time period, starting from their first request. This is enough to make just over one request per minute, per hour, which should meet the needs of most applications. Rate limiting applies only to authenticated API requests; requests for the public timeline do not count. POST requests (ex: updating status, sending a direct message) also do not count against the rate limit.

とあるように public timeline へのリクエストについてはAPI回数の上限がありません。

ガシガシ取得してもAPI利用停止はされないはずです。

http://twitter.com/statuses/public_timeline.json

といった感じでJSONあたりで情報を取得している可能性はあります。

理論上は、すごく短い間隔で since_id を指定しながら public timeline の情報を取得すれば良いはずです。

(ただ、public timeline で取得できる情報は20件までなので、どのくらいの頻度で情報を取得すれば良いのかはよく分かりません…。)

JSONで渡ってくる情報はだいたい 10数KB 程度です。

1秒間隔ぐらいで秒間に何度も取得した public timeline の情報を合わせて、日本語情報のみ抽出(textの内容をチェック?)してページを生成すればいけそうな気がしないでもないです。

(検索のリクエストがない限り、JSONで情報を取ってきたままの状態にしておいても良いわけですし。)

回答にはなっていませんが、少しでも参考になれば幸いです。

(自分で書いていて、トンデモ回答な気がしてきました…orz)

◎質問者からの返答

うーん、やっぱりpublic_timelineなんですかねえ…

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ