Twitterのハッシュタグを検索し取得するURI
Twitterからはさまざまな形式でデータを取得できますが、jQueryを使用するならjson形式が便利です。
ハッシュタグを取得するURIは下記です。
http://search.twitter.com/search.json?q=%23[ハッシュタグ名]
[ハッシュタグ名]は取得したいハッシュタグ名に置き換えてください。
たとえば「#wordpress」というハッシュタグだったら下記のようになります。
http://search.twitter.com/search.json?q=%23wordpress
ちなみにハッシュタグじゃなくて普通に「wordpress」の含まれているつぶやきを取得するには「%23」という部分を削除します。
http://search.twitter.com/search.json?q=wordpress
日本語つぶやきのみを取得する。
イベントなどで特別なハッシュタグを使用する場合は問題ないですが、例えば「#wordpress」とか「#flash」とか世界的に使用されているタグだと大半が英語になってしまいます。
英語なんか楽勝だけど表示するのは日本語だけでいいかな、という人もいますよね。
日本語のつぶやきに限定したい場合はパラメータに「lang=ja」を追加します。
Wordpressの例でいくとこうです。
http://search.twitter.com/search.json?lang=ja&q=%23wordpress
jQueryで取得して表示してみる。
最後にjQueryで取得したjsonデータを表示してみましょう。
基本的には以前書いた「jQueryでTwitterの自分のつぶやきを表示する」という記事を参考にして頂ければと思います。
html
<div id="twitter"><dl></dl></div>
javascript
<script src="js/jquery.js" type="text/javascript"></script> <script src="js/php_date.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { var dateObj = new Date; $.getJSON('http://search.twitter.com/search.json?lang=ja&q=%23wordpress&callback=?', function (json) { for(var i in json.results){ var text = json.results[i].text ; //URLにリンクを付ける text = text.replace(/(s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:@&=+$,%#]+)/gi,'<a href="$1">$1</a>'); //ハッシュタグにリンク text = text.replace(/#(\w+)/gi,'<a href="http://twitter.com/search?q=%23$1">#$1</a>'); //リプライにリンク text = text.replace(/@(\w+)/gi,'<a href="http://twitter.com/$1">@$1</a>'); $("#twitter dl").append("<dt>" + dateObj.format('Y-m-d H:i:s', json.results[i].created_at) + "</dt><dd>" + text + "</dd>" ); } }); }); </script>
気をつけるところはサーチAPIはタイムラインと時間(created_at)の記述がちょっと違うところです。
タイムラインではIE対策を行わなければいけなかったのですが、ハッシュタグの場合は特別なことをしなくても表示してくれるようです。