Twitter APIでキーワード部分一致フィルタ

このQ&Aのポイント
  • Twitter APIのPublic API、POST statuses/filterで、Parameters trackでフィルタリングする際に、「犬」に関するTweetをフィルタしたいと思います。
  • 犬、柴犬、土佐犬、犬山、(*.)犬(*.)といったフレーズを含むTweetをフィルタする方法はないのでしょうか?
  • ワイルドカード、正規表現のようなもの使えれば良いのですが…。詳しいかたいらっしゃいましたら、ご教示頂ければ幸いです。サンプルコードなど、御提示頂けましたら幸いです。
回答を見る
  • ベストアンサー

Twitter APIでキーワード部分一致フィルタ

Twitter APIに関して、質問させて頂きます。 現在、phpでphirehoseのライブラリを使い、Twitter APIを利用しています。 https://github.com/fennb/phirehose Twitter APIのPublic API、POST statuses/filterで、Parameters trackでフィルタリングする際に、「犬」に関するTweetをフィルタしたいと思います。 その場合、setTrackに「犬」を設定しても、「犬」の前後にスペースやハッシュタグがあるものはフィルタにかかりますが、柴犬、土佐犬といった文字列のあるTweetはひっかかりません。 犬、柴犬、土佐犬、犬山、(*.)犬(*.)といったフレーズを含むTweetをフィルタする方法はないのでしょうか? こちらにリファレンスがあるのですが、そういった手段に関する記述が見当たりません。(英語が苦手なため、自分が分からないだけかも知れませんが…) https://dev.twitter.com/streaming/overview/request-parameters#track ワイルドカード、正規表現のようなもの使えれば良いのですが…。 詳しいかたいらっしゃいましたら、ご教示頂ければ幸いです。 サンプルコードなど、御提示頂けましたら幸いです。 何卒、宜しくお願い申し上げます。

  • PHP
  • 回答数1
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.1

TwitterAPI側がそのような仕様を備えていない以上、真っ当な方法では実現できません。 【A】 あらかじめ考えられるフレーズを辞書として用意しておき、ストリーミングに接続する要求があったときにそれに関連するフレーズを全て取り出し、「+OR+」で結合してTrackパラメータとする。 【B】 Twitter社と有料で契約して「GET statuses/firehose」を使えるようにし、全てのツイートを正規表現の処理にかけてチェックする。但し契約にもコンピュータへの投資へも膨大なお金が必要。個人では実現不可能。そもそも処理速度的にPHPが用いられることはないと思われる。

chiku-san
質問者

お礼

いつもありがとうございます! なるほどAPIの仕様で、できないんですね…。残念。 firehose使ってみたいですが、ご指摘の通り個人じゃハードル高いですよね…。 とりあず、locationでエリアを日本国土に限定して全ストリームを引き込んで、それに正規表現でひっかけつつDBに突っ込んで、それっぽくやってみたいと思います。 ありがとうございました! これからも宜しくお願い申し上げます。

関連するQ&A

  • Twitter APIについて

    PHP初心者です。 https://github.com/sizaki30/TwitterAppOAuth を使って https://syncer.jp/twitter-api-matome/get/statuses/user_timeline のようなものを作ることは可能でしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • PHP
  • twitter apiに関しての質問です。

    現在twitterやvineで特定のハッシュタグのついた画像をapiで自動で引っ張ってきて それをギャラリー化しようと試みていますが、どうも上手くいきません。 具体的にいうと http://tagboard.com/example このような体裁で、ハッシュタグはこちらの指定した特定のもののみです。 インスタグラムや、twitpicでは上手くできたのですが、どうしてもtwitterだとうまくいきません。 どなたかご教授いただけないでしょうか? よろしくお願いいたします。

  • Twitter APIのリファレンスサイト(Twi

    Twitter APIのリファレンスサイト(Twitter Developer Documentation)の読み方が分かりません... Twitter API使い方というよりは、”ドキュメントの読み解き方” が質問したいことの本質です 。 まずこのページなのですが... https://dev.twitter.com/oauth/reference/post/oauth/request_token Parametersには項目が2つしかないのに、 サンプルのリクエストにはパラメータが7つあるように見えます... 明らかにおかしくないですか? ここでの「Parameters」はどういう意味なんですか? どうして「oauth_callback」と「x_auth_access_type」の2つのパラメータだけを取り上げて説明しているのでしょうか... 全てのパラメータについての説明があるページはないのでしょうか... ※TwitterAPIについて分かりやすく説明している非公式のサイトなどの紹介は不要です。 公式のドキュメントを読み解いて理解したいのです。

  • twitterをRSSリーダで読む方法

    twitterのサービスに関して、あるユーザのtweetをRSSフィードを取得してRSSリーダで読む方法はないでしょうか ※ https://twitter.com/statuses/user_timeline/ユーザ名.rss や https://twitter.com/users/show/ユーザID.xml では、RSSフィードを取得できませんでした。

  • twitter検索で最新の投稿が取れない

    twitter API1.1の検索を #nanikananikaのようなハッシュタグを利用して 最新の投稿を取ろうとしても取得できません。 https://dev.twitter.com/docs/api/1.1/get/search/tweets を参考にサンプルを作成して見たのですが駄目で… APIで検索しても最新のものは取得できないのでしょうか?

    • ベストアンサー
    • PHP
  • Twitterフォロワー数 取得 API xml

    【 Twitterフォロワー数 取得 API xml 】 twitterのフォロワー数を取得しwebsiteに表示したいです。 下記のcodeを記述したのですが、 取得出来ない場合があります。 (Aのサイトですと表示されBのサイトですと表示されない) <?php $urlt = str_replace(0xefbbbf, '', file_get_contents('http://api.twitter.com/1/statuses/user_timeline.xml?id=□□□□□□')); $xmlt = simplexml_load_string($urlt); print $xmlt->status->user->followers_count; ?> ※上記の □□□□□□ 部分には 表示させたいtwitterのscreen_nameかidをいれます。 どうしてもわからずこちらに質問させて頂きました。。。 よろしくお願いいたします。。

    • 締切済み
    • PHP
  • ツイッターのAPIでOAUTH認証を使用してのAPIリクエストについて

    ツイッターのAPIでOAUTH認証を使用してのAPIリクエストについて ツイッターのAPIを利用してアプリケーションを開発しています。 OAUTH認証でアクセストークンの取得まではできたのですが、 アクセストークンを使ってAPIにアクセスしたところページが 存在しないとの旨を伝えられました。 ↓実際のソース https://twitter.com/1/statuses/update.xml?in_reply_to_status_id=自分のID(アクセストークンで取得したもの)&oauth_consumer_key=OAUTHコンシューマキー&oauth_nonce=ランダム文字列&oauth_signature_method=HMAC-SHA1&oauth_timestamp=タイムスタンプ&oauth_token=アクセストークン&oauth_version=1.0&status=つぶやきたい内容&oauth_signature=署名 上記URLにheader()(リダイレクト)でアクセスしています。simplexml_load_file()や file_get_contents();だと何も取得できませんでした。 特に不安なのがin_reply_to_status_idの指定先と実際のリクエストの仕方が良く わからない事です。何とかして呟きたいのでご教示よろしくお願いいたします。

  • ハッシュタグ付きツイートが表示されない。

    ツイッター公式アカウントからハッシュタグ付きツイートを拾って、掲載するウィジェットをHTML上に組み込んだのですが、一部のアカウントのみ、問題なくハッシュタグ付きツイートが表示されます。 ツイッターボタンのaタグには、 https://twitter.com/intent/tweet?text=エンコードされたテキスト&url=URL&button_hashtag=ハッシュタグ としているのですが、できる人とそうでない人がおりまして、何か各アカウントに設定があるのでしょうか。

  • TwistOAuth ホストが解決できない

    Twistoauthを使って見たのですが、テストツイートがうまく行きません Error! Couldn't resolve host 'api.twitter.com' コード ↓ <?php //import require_once "TwistOAuth.phar"; //OAuth TwistOAuth //boot tweet try{ $tweet=$tfa->post("statuses/update",array("status"=>filter_input(INPUT_POST,"test"))); }catch(TwistException $te){ echo "Error! ".$te->getMessage(); } ?> なにが原因なのでしょうか

    • ベストアンサー
    • PHP
  • twitterに関するメッセージ

    macでインターネット使用中に、下記のようなメッセージが出ます。 name and password欄に、入力しても何度も繰り返しメッセージが出ます。 Enter your name and password to update the RSS feed. To update the RSS feed "http://twitter.com/statuses/friends_timeline.rss", you need to log in to the area "Twitter API" on twitter.com. Your password will be sent in clear text. このメッセージを消すことは出来ませんか? 方法を知りたいのです。教えて下さい。よろしくお願いいたします。

    • ベストアンサー
    • Mac

専門家に質問してみよう