blog - JSONでJQuerryやPHPを使ったtwitter APIの処理、つぶやきのテキスト抽出
JSONで、twitter APIにアクセスして、特定のハッシュタグを持つつぶやきを取って来て、表示するには、たとえば、JQuerryだと、
などとする。この例は、ハッシュタグ#museumのつぶやきを取ってくる。
また、phpだと、
などとする。
この例は、http://や#ハッシュタグや@返信などの文字を削除し、半角英数字の文字のみ残している。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
var showResults = function() {
var keyword = $('#text1').val();
var count = $('#num1').val();
var query = encodeURI(keyword);
$("#message").html('<ul>');
$.getJSON('http://search.twitter.com/search.json?callback=?&q=%23' + query + '&rpp=' + count,
function(data){
$.each(data.results,function(){
$('#message').append('<li>' + this.text);
});
}
);
$("#message").html('</ul>');
}
</script>
<body onLoad="showResults()">
Hash Tag : <input type="text" id="text1" value="museum">
How many : <input type="text" id="num1" value="5">
<input type="button" value="submit" onclick="showResults()">
<div id="message"></div>
</body>
</html>
などとする。この例は、ハッシュタグ#museumのつぶやきを取ってくる。
また、phpだと、
<?php
$hashtag = "museum";
$count = "10";
$url = "http://search.twitter.com/search.json?callback=?&q=%23{$hashtag}&rpp={$count}";
$json = file_get_contents("$url");
//jsonを連想配列に変換
$data = json_decode( $json , true );
//配列の中身を表示する
$str03 = "";
foreach ($data as $key1 => $val1) {
foreach($val1 as $key2 => $val2) {
//[resules][番号][text]を表示
$str01 = $val2[text]."";
echo "01 = $str01<br>";
$str02 = preg_replace("/http(\S)+/i","",$str01,-1);
$str02 = preg_replace("/RT /","",$str02, -1);
$str02 = preg_replace("/[#@](\S)*\s/i","",$str02, -1);
$str02 = preg_replace("/[#@](\S)*$/i","",$str02, -1);
echo "02 = $str02<br>";
if(preg_match("/^[!-~ ]+$/", $str02)) {// 半角英数字の場合だけ
echo "03 = $str02<br>";
$str03 .= $str02;
}else{
echo "03 = <br>";
}
}
};
echo "<p><b>$str03</b></p>";
?>
などとする。
この例は、http://や#ハッシュタグや@返信などの文字を削除し、半角英数字の文字のみ残している。