とっても便利なtwitterAPI。
その中でもsearchAPIは多くの人が使っているAPIではないでしょうか。
で、searchAPIは便利なんですが、検索出来るtweetsは大体1週間くらい前までという制限があります。
twitter関連アプリを作るときに、これは微妙に不便なこともあります。
で、そういう時にtweetsをDBに突っ込むなんてことをすることも、あり得ないとは言い切れないわけですが、その時に一つ注意。
まず、searchAPIを使って一度に取れるtweetsは100件です。なので、
$query = urlencode(“キーワード”);
for( $i=100; $i>0 ; $i–){
$url = “http://search.twitter.com/search.atom?q=”.$query.”&locale=ja&rpp=100&page=”.$i;
なんちゃらら
}
というような感じでページャー部分をループで回す必要があります。
(pageの最大値は100です。)
その時に、1から100に向かってループを回すと多重登録の可能性が出てきます。
(page=1のtweetsをDBに入れている間にもtweetsはどんどん貯まっていき、page=1のtweetsを全てDBに入れpage=2に移った時にはpage=1のいくつかがpage=2に押し出されている可能性が在るため)
重複したものを削除する機能を用意しても良いんですが、それが面倒なときは100から1に向かってループを回しましょう。
(まぁ、これでも誤差は出ます。しっかりと全て取得したいなら、やっぱり重複処理を用意して下さい)
ちなみに、searchAPIにはsince_idというオペレータもあり、
http://search.twitter.com/search.atom?q=test&since_id=111111111111111
という風にすることによって、指定したid以降のtweetsだけ取得ということも可能です。
とまぁ、twittersearchAPIに関する覚書でした。
- Newer: 【MySQL】datetime型の検索方法について
- Older: FLASHの上にHTML要素を被せる【Dreamweaver】
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://watalucky.com/2010/04/30/twitter-search-api%e3%81%8b%e3%82%89%e7%99%ba%e8%a8%80%e3%82%92%e3%81%a8%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%a6db%e3%81%ab%e7%aa%81%e3%81%a3%e8%be%bc%e3%82%80/trackback/
- Listed below are links to weblogs that reference
- twitter search APIから発言をとってきてDBに突っ込む from watalucky.com