PHP で twitter のツイートを検索してみる

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

PHP を用いて、特定のキーワードを含むツイートを twitter 上で探すプログラムを組んでみました。

↓こんな感じのプログラム
twitter search test

Twitter API 仕様書 (勝手に日本語訳シリーズ)を参考にしています。

CodeIgniter 用に Controller クラスで書いちゃってますが、中身は単純ですね。

class Twitter_test extends Controller {

    function Twitter_test()
    {
        parent::Controller();
        $this->output->set_header('Content-type: text/html; charset=utf-8');
    }

    function index()
    {
        echo '<style type="text/css">table,td,tr{border:1px solid gray;border-collapse:collapse;}</style>';
        echo form_open('twitter_test/');
        echo form_input('query', $this->input->post('query') ? $this->input->post('query') : '');
        echo form_submit('submit', 'twitter検索');
        echo '<br />';

        echo '<table>';
        echo '<tr><td>ユーザ名</td><td>つぶやき</td></tr>';
        if ($this->input->post('query')) {
            $query_url = 'http://search.twitter.com/search.atom?q=' . rawurlencode($this->input->post('query'));
            $contents = file_get_contents($query_url);
            $xml = simplexml_load_string($contents);

            foreach ($xml->entry as $entry) {
                $temp = array(
                    'id' => $entry->id,
                    'title' => $entry->title,
                    'content' => $entry->content,
                    'updated' => $entry->updated,
                    'link' => $entry->link['href'],
                    'author' => $entry->author->name,
                    'uri' => $entry->author->uri,
                );
                echo "<tr><td><a href='{$temp['uri']}' target='_blank'>{$temp['author']}</a></td><td>{$temp['updated']}<br /><a href='{$temp['link']}' target='_blank'>{$temp['title']}</a></td></tr>";
            }
        }
        echo '</table>';

        echo form_close();
    }

}

要は URL エンコードした検索ワードを REST 形式で API 呼び出しすればよい、と言うことですね。

来月(2010/07)からユーザー認証関係は変わってしまいますが、ここら辺の API は大丈夫そうですね。

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

山本をフォローするだけでちょっぴりお得な情報が見つかりますよ↓↓↓

コメント

  1. 梛野 より:

    ブログ拝見させていただいてます。
    もし可能であれば、”PHPでTwitterのツイートを検索する”について教えていただきたいです。
    TeraPadにコードを入力してそのまま使えるようにするにはどうしたら良いでしょうか?
    無知ですみません。

  2. Kryu^2 より:

    梛野さん

    この記事、既に使えなくなっているAPI呼び出しになっていますので、下記のリファレンスを参考にしていただいた方が良いと想います。

    https://developer.twitter.com/en/docs/tweets/search/guides/build-standard-query

    PHPの実行環境が既に用意されていれば、上記のコードを新しいAPIに合わせれば動作すると思います。