せどり・サイトアフィリエイト等で使える、ツイッターAPIを使用した、ツイート自動検索・キーワードリサーチツールのソースコード
1.ツイート自動検索・キーワードリサーチツール概要
このコンテンツは、ツイッターAPIを使い、任意のワードから大量のツイートを検索し、それらのツイートに含まれているワード(名詞)を取得し、取得数の多い順にランキング化するツールのソースコードです。
ツイッターから大量のツイートを取得、解析し以下のようなことが自動でおこなえます。
・せどりの商品選定で、「売切れ、品切れ」で検索し売切れ商品をリサーチ
・サイトアフィリエイトの商品選定で「はげ、育毛剤」で検索し人気の育毛剤をリサーチ
・検索ワードにより、いろいろなビジネスに応用できる
2.機能や性能について
・ツイート検索速度
私の実行環境では1時間あたり約1800件のツイートを取得し解析することができました。
・アクセス制限機能
Twitter APIは時間あたりのアクセス制限が設けられているため、アクセス制限を超えてアカウントが凍結しないように15分当たりの最大アクセス制限数を設定できるようになっています。
・除外ワード設定機能
高機能な形態素解析(単語を最小単位に分別し品詞を判別する)をおこなえる"GiNZA"を使用していますが、結果としてはあまりにもというワード(名詞)が出力される場合もあります。
そのような場合に次回運用時から除外ワードを指定することにより、結果として洗練されたワード(名詞)を出力できます。
3.ツール実行に必要な前提条件
ソースコードはPHP・Python3で記述してあります。
ご自身のPC・サーバ環境で実行する必要があるため、コンテンツ購入の前に以下5点をご確認ください。
・PHP・Python3の初心者程度の知識(変数・配列の仕組み等)を持っている。
・PHP・Python3が使える。(PHPはver.5.4、Pythonはver3.6で試験済み。PHPがver.5.4より古くなる場合は、少しだけコードの修正が必要。)
・形態素解析用ライブラリ"GiNZA"をご自身の実行環境で実行できる。
※GiNZAインストール方法→ https://megagonlabs.github.io/ginza/
・Twitterアカウントを持っており、デベロッパーに開発者申請ができる(既にしている)。
※Twitter Developerの開発者申請方法について→ https://digitalnavi.net/internet/3072/
・twitteroauthをダウンロードし実行環境に配置する
※twitteroauth説明 https://sys-guard.com/post-9507/
※twitteroauthをダウンロードできるGIT HUBのページ https://github.com/abraham/twitteroauth
その他、ご質問等あればお気軽にお尋ねください。
また、環境構築がどうしてもできないという場合、出張料・手数料をいただければ直接お伺いすることもできるかもしれないのでご連絡ください。
4.ツイート自動検索・キーワードリサーチツール 実行手順
実行前の環境構築として、「3.ツール実行に必要な前提条件」に記載していた内容が前提です。
①こちらの記事にあるソースコードをコピペし、以下3つのファイルを作成します。
app.php(PHP実行ファイル)
functions.php(app.phpで使用する関数を記述したファイル)
get_noun.py(形態素解析をおこなうファイル)
②上記3つのファイルとtwitteroauthを同じディレクトリ(フォルダ)に配置する。
③app.phpの検索ワード等パラメータを修正する。
検索ワード(app.php 10行目)
デフォルトでは以下のようになっています。
$q_word = [ "売り切れ" , "売切" , "売ってない" , "売っていない" , "売っていません" , "品切" ];
配列 $q_word に格納されている要素をOR条件でツイート検索します。要素は1つ以上あれば少なくても構いません。AND検索したい場合は"売り切れ 東京"のように半角スペース区切りで1つの要素にします。
除外ワード(app.php 14行目)
デフォルトでは以下のようになっています。
$removal_words = [ "https" , "http" ];
出力結果から除きたいワード(名詞)を $removal_words の要素として足していってください。
デバッグモード切替(app.php 26行目)
デフォルトでは以下のようになっています。
$debug = false;
true へ変更すると取得したワード(名詞)をすべて表示します。ツイートより大量にワードを取得するため文字が滝のように大量に表示されるため、デフォルトでは false (表示しない)になっています。
最大アクセス数(app.php 34行目)
デフォルトでは以下のようになっています。
$maximum_accesses_limit = 100;
twitter APIへリクエストを送る最大回数です。1回のリクエストで最大100件のツイートを取得できるので100×100で1万ツイート取得することになります。(検索ワードに該当するツイートがあれば)
100回のリクエストで解析におおよそ5時間超かかる(私の実行環境で)ので、都合に合わせて修正してください。
15分間あたりの最大アクセス数(app.php 38行目)
デフォルトでは以下のようになっています。
$maximum_accesses_per_hour_limit = 100;
Twitter APIへのアクセスが15分の間にこの数値を超えると一定時間処理を休止するようになっています。Twitterの規約ではツイート検索時のアクセス制限が15分当たりに180回となっています。デベロッパーアカウントのアプリを凍結されると再作成が面倒なので、私は無難に100回としていますが、もう少し増やしても問題はないかと思います。
Twitter APIキーの設定箇所 (48-51行目)
デフォルトでは以下のようになっています。
$CK = 'XXXXXXXXXXXXXXXXXXXXXXXXX';$CS = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';$AT = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';$AS = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
Twitter Developer ページより取得したAPIキーをこちらに設定します。
詳細は→https://digitalnavi.net/internet/3072/ で確認してください。
Twitter Developer ページは日本語対応していませんが、クロームブラウザの翻訳機能を使用すれば英語がわからなくても問題ありません。
また、APIキーを作るのが面倒になったという記事を見かけますが、上記サイトのような感じで適当に入力すれば問題なくすぐに作ることができます。
④端末(ターミナル 、コマンドプロンプト)から下記コマンドを実行
php app.php
コマンド 実行後、端末に途中経過が表示され最終的にすべての出力ワード(名詞)をランキング化したファイルが出力されます。
TSV形式になっていますので、Excel等で開くと見やすくなっています。