【twitteroauth】TwitterAPIで検索して特定のつぶやきをしたユーザーを取得する方法【PHP】

公開日: : 最終更新日:2014/08/14 PHP, Twitter

スポンサーリンク

twitteroauthを利用してワード検索して特定のつぶやきをしたユーザーを取得する方法です。twitteroauthはGitHubで公開されているので持ってない方はそちらからダウンロードしてください。

以下ソースコード

<?php
//twitteroauth.phpを読み込み
require_once dirname(__FILE__) .'/twitteroauth.php';
//検索ワード配列
$keyword_list = array("ポケモン","パズドラ");
//最大検索数
$countmax = 10;
//twitterAppsで取得
$consumerKey = '*****';
$consumerSecret = '*****';
$accessToken = '*****';
$accessTokenSecret = '*****';
$to = new TwitterOAuth(
	$consumerKey,
	$consumerSecret,
	$accessToken,
	$accessTokenSecret
);
//Twitterで検索するワード
//複数の場合はORかANDを使う
//「ポケモン OR パズドラ」のような形になればいい
$key = "";
$size = count($keyword_list);
for($i=0;$i<$size;$i++){
	$keyword = $keyword_list[$i];
	$key .= $keyword;
	if($i<$size-1){
		$key .= " AND ";
	}
}
//オプション設定
//countmaxは最大検索数
$options = array('q'=>$key,'count'=>$countmax,'lang'=>'ja');
//検索
$json = $to->OAuthRequest(
	'https://api.twitter.com/1.1/search/tweets.json',
	'GET',
	$options
);
$jset = json_decode($json, true);
//tweetidを取得
foreach ($jset['statuses'] as $result) {
	//ローマ字の名前
	$screen_name = $result['user']['screen_name'];
	//ユーザーID(数字)
	$id = $result['user']['id'];
	//ユーザー名
	$name = $result['user']['name'];
	//ユーザーアイコン画像URL
	$link = $result['user']['profile_image_url'];
	//該当ツイート
	$content = $result['text'];
	//更新日
	$updated = $result['created_at'];
	$time = date("Y-m-d H:i:s",strtotime($updated));
	//不明なものはprint_rで見ればいい
	//print_r($result);
	echo "<img src='".$link."''>"." | ".$screen_name." | ".$id." | ".$name." | ".$content." | ".
		$time."<br>";
}
?>

取得される$idが9桁(?)の数字のユーザーIDで特定のユーザーをフォローするときなどで使用できます。$screen_nameはローマ字のユーザー名となっています。

今回は「ポケモン」、「パズドラ」をキーワードにして10件まで検索を行いました。取得例はこんな感じになります。

Twitter検索

といってもモザイクになってて分かりずらいと思いますが、あしからず。。

スポンサーリンク
Amazon
  • このエントリーをはてなブックマークに追加

関連記事

【PHP】file_get_contentsでリンク元などのヘッダ情報を変更する

file_get_contentsで他サイトの情報を読み取る際などでリンク元を明記したい場合は以下の

記事を読む

【PHP】Twitterのツイート数やはてぶ数を取得する

指定URLのTweet数の取得 Twitterでツイート数を取得するには指定のURLにアクセスする

記事を読む

YoutubeのURLリンクを外部プレイヤーのものに正規表現で置換する

Youtubeのアドレスを正規表現を使って抽出して外部プレイヤーのフレームに変換・置換するスクリプト

記事を読む

TwitterAPIの仕様変更【2014年1月】

TwitterAPIの仕様が2014/1/15未明から変更されたようで一部のJanetter

記事を読む

【MySQL・PHP】WHERE句とORDER BY句を使った#1064エラーについて

MySQLで次のようなクエリを出すとエラーとなって帰ってきました。 SELECT * from

記事を読む

【PHP】ミリ秒を取得することで制限時間を設けて処理をする

PHPで時間制限を設けてタイマーのような処理をするときの制限の付け方として、処理のはじめの時刻と処理

記事を読む

【PHP】headerでContent-Typeを指定したのに効かない場合の対処法

PHPでサイトマップを作ろうと思い、XML形式のファイルを出力しようとしてheaderを指定したのに

記事を読む

【PHP】usortのfunctionでCannot redeclare(再定義)される

初心者なのでusortがいいものかどうなのかよくわからないのですが、usortの関数定義をするとたま

記事を読む

Twitterアカウントのアクセストークンを取得する方法

TwitterでBotなどを作るときアクセストークンとコンシューマキーが必要になります。 ざっくり

記事を読む

【CakePHP3】無関係な複数テーブルのデータを一つのコントローラで扱う

CakePHP3で一つのコントローラないでお互い独立したテーブルを扱うには単純にTableRegis

記事を読む

Windowsユーザが初めてMacBookを購入したときの注意点や感想

最近12インチのMacBookを購入しました。今までWindowsしか

Redmine3.2をUbuntu14.04にインストールして躓いた所についてメモ

はじめに Ubuntu14.04 ServerにRedmine3.2

UWSCを使ったソフト自動立ち上げ【SoftEther VPN Server】

やりたいこと 最近SoftEtherという筑波大学発のベンチャー企業

【PHP】headerでContent-Typeを指定したのに効かない場合の対処法

PHPでサイトマップを作ろうと思い、XML形式のファイルを出力しようと

スマホ向け幅固定サイトの回転時の幅対応方法

幅固定サイトでのスマホ回転時Webサイトの横幅を合わせる方法のメモ。

【PHP】特定のURLからそのAtomやRSSのフィードを抽出する方法

特定のURLからRSSやATOMのフィードを抽出する方法をメモ。 流

フィード抽出ツール(RSS1.0、RSS2.0、atom)

任意URL サイト名 サイトURL RSS1.0

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑