Twitter フレンドシップ

Twitterのつぶやきを検索してみる

2011年01月13日
Twitterのつぶやきの検索は、ステップメールの開発でコーディングしたことがあります。それを利用することにします。

つぶやきの検索はつぶやきの投稿と違って、認証は必要ありません。
投稿は【https://twitter.com/statuses/update.xml】へしていましたが、検索は【http://search.twitter.com/search.atom】へします。【http://search.twitter.com/search.json】でもいいようです。
以前atomを使っていたので、それをそのまま利用することにします。

http://search.twitter.com/search.atom?q=検索ワード
とすれば、結果が得られます。検索ワードは、URLエンコードします。
複数の検索語をAND検索する場合【+】で、OR検索する場合【+OR+】で繋げます。
 http://search.twitter.com/search.atom?q=検索ワード1+検索ワード2
 http://search.twitter.com/search.atom?q=検索ワード1+OR+検索ワード2
となります。【検索ワード1+検索ワード2】や【検索ワード1+OR+検索ワード2
】をURLエンコードします。

ユーザーを指定することもできます。
from%3AユーザーID (【%3A】は【:】のエンコード)
とすれば、ユーザーIDがつぶやいた投稿が、
to:ユーザーID
とすれば、ユーザーIDに対してつぶやかれた投稿が検索されます。

http://search.twitter.com/search.atom?q=検索ワード1+from%3AユーザーAのID
ならば、ユーザーAにたいしてつぶやかれた投稿の中で、検索ワードを含むつぶやきを出力します。

http://search.twitter.com/search.atom?q=検索ワード1+OR+検索ワード2
-to:ユーザーAのID
ならば、検索ワード1か検索ワード2を含むつぶやきですが、ユーザーAに対して投稿されたつぶやきは除いて出力されます。

また、出力する最大つぶやき数を指定するには、
 rpp=最大数
ページを指定するには
 page=ページ数
とします。
これで検索結果が大量にあっても、複数回に分けて引いてくることができます。

 since=YYYY-MM-DD
を指定すれば、YYYY-MM-DD以降のつぶやきのみ出力されます。

言語の指定は
 lang=言語
日本語の場合はja。

これらのSQLは【&】で結びます。

例えば、
http://search.twitter.com/search.atom?q=検索ワード1+from%3AユーザーAのID&rpp=10&page=5
です。