Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save motoishmz/8c43d387f9319e5a60e3c2a404702e4f to your computer and use it in GitHub Desktop.
Save motoishmz/8c43d387f9319e5a60e3c2a404702e4f to your computer and use it in GitHub Desktop.
Twitterの検索API

twitterの検索術 (search/tweetssearch/universal)

search/tweets では一週間以上前のツイートは検索できないので注意

search/universal は公式のConsumerKey/ConsumerSecretでないと使用できない

当方では一切の責任を負いません

使いそうなクエリ群

  • "島風 かわいい" - 島風 かわいいが含まれるツイートの検索
  • 島風 OR 天津風 - 島風天津風が含まれるツイートの検索
  • 島風 -天津風 - 島風が含まれ天津風が含まれないツイートの検索
  • #島風 - ハッシュタグ島風が含まれるツイートの検索
  • from:user - ユーザーuserのツイートを検索
  • to:user - 宛先がユーザーuserのツイートを検索
  • @user - リプライ@userが含まれるツイートの検索
  • 島風 since:2015-02-23 - 2015年2月23日以降の島風が含まれるツイートを最新から順に検索(search/tweetsでは1週間以上前のツイートは検索不可)
  • 島風 until:2015-02-23 - 2015年2月23日以前の島風が含まれるツイートを最新から順に検索(search/tweetsでは1週間以上前のツイートは検索不可)
  • 島風 :) - 島風が含まれ内容がポジティブなツイートの検索
  • 島風 :( - 島風が含まれ内容がネガティブなツイートの検索
  • 島風 ? - 島風が含まれ内容が疑問形なツイートの検索
  • 島風 source:flantter - 島風が含まれFlantterからつぶやかれたツイートの検索
  • 島風 lang:ja - 島風が含まれ日本語のツイートを検索(他en等)
  • 島風 include:retweets - 島風が含まれるリツイートを含むツイートを検索
  • 島風 exclude:retweets - 島風が含まれるリツイートを含まないツイートを検索
  • 島風 exclude:nativeretweets - 島風が含まれるリツイートを含まないツイートを検索?
  • 島風 list:user/listname - userlistnameというリスト内で島風が含まれるツイートを検索
  • 島風 geocode:37.78115,-122.39872,1mi - 島風を含み、緯度、経度、範囲を指定して検索(単位はkm,mi等)
  • 島風 near:me - 島風を含み自分に近いところにいる人間のツイートを検索 (ドキュメントに書いてない)
  • 島風 near:新潟 - 島風を含み新潟付近でつぶやかれたツイートの検索
  • 島風 near:新潟 within:10km - 島風を含み新潟付近でつぶやかれたツイートの検索(範囲を10kmに指定、単位はkm,mi等)
  • 島風 filter:links - 島風とリンクが含まれるツイートの検索
  • 島風 filter:verified - 島風が含まれ認証されたアカウントからつぶやかれたツイートを検索
  • 島風 filter:images - 島風と画像が含まれるツイートの検索
  • 島風 filter:twimg - 島風とツイッターの画像が含まれるツイートの検索
  • 島風 filter:videos - 島風と動画が含まれるツイートの検索
  • 島風 filter:media - 島風とメディア(画像と動画)が含まれるツイートの検索
  • 島風 filter:vine - 島風とVineが含まれるツイートの検索 (ドキュメントに書いてない)
  • 島風 filter:news - 島風が含まれ、ニュースだと思われるツイートの検索 (ドキュメントに書いてない)
  • 島風 filter:safe - 島風が含まれ、possibly_sensitiveフラグが0のツイートの検索?
  • 島風 filter:periscope - 島風が含まれ、periscopeで配信しているツイートの検索
  • 島風 filter:native_video - 島風が含まれ、periscope,vineまたはTwitterにアップロードされた動画の検索
  • 島風 card_name:animated_gif - 島風が含まれ、GIFが含まれるツイートを検索 (ドキュメントに書いてない)
  • 島風 min_retweets:100 - 島風が含まれリツイートが100以上のツイートを検索 (ドキュメントに書いてない)
  • 島風 min_faves:100 - 島風が含まれお気に入りが100以上のツイートを検索 (ドキュメントに書いてない)
  • 島風 min_replies:5 - 島風が含まれリプライが5以上のツイートを検索 (ドキュメントに書いてない)
備考

filter関連の検索はNOTと併用できる

使用例
  • 島風 filter:media exclude:retweets - 島風が含まれメディアが含まれるツイートの検索
  • from:user filter:images min_faves:100 - userの画像で100ふぁぼ以上のツイートを検索
  • 島風 filter:images min_faves:100 exclude:retweets - 島風が含まれ100ふぁぼ以上のツイートを検索
  • 島風 filter:images -filter:safe - 島風が含まれpossibly_sensitiveフラグが1のツイートの検索(おそらくR-18な絵が多いと思われる)

search/universalの軽い使い方

重要なパラメータ
  • q - 検索する文字列 (上記のクエリ使用可)
  • modules - モジュールを指定(statusを指定でツイートのみが流れてくる,指定しない場合はユーザーなども含まれる)
  • count - 取得するツイート数(ツイートのみ,ユーザーなどは別で流れてくる)
  • result_type - search/tweetsと同じ?
ツイートのさかのぼり方

since_idmax_idはパラメータで指定せず,検索クエリに含める

search/universal.json?q=島風 max_id:114514&modules=status

CoreTweetによるサンプル
var param = new Dictionary<string, object>() { { "q", "島風 min_faves:100" }, { "count", 20 }, { "result_type", "recent" }, { "modules", "status"} };
var res = await token.SendRequestAsync(MethodType.Get, "https://api.twitter.com/1.1/search/universal.json", param);
var json = await res.Source.Content.ReadAsStringAsync();
var jsonObject = Newtonsoft.Json.Linq.JObject.Parse(json);
var modules = jsonObject["modules"].Children<Newtonsoft.Json.Linq.JObject>();

var tweets = new List<Status>();
foreach (var status in modules)
{
    foreach (Newtonsoft.Json.Linq.JProperty prop in status.Properties())
    {
        if (prop.Name == "status")
            tweets.Add(CoreBase.Convert<Status>(Newtonsoft.Json.JsonConvert.SerializeObject(status["status"]["data"])));
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment