TikTokとTwitterのバイラルコンテンツを自動収集し、Googleスプレッドシートに結果を出力するPythonツールです。
- TikTok動画収集: 24時間以内で50万再生以上のバイラル動画を自動検出
- Twitter投稿収集: 動画付きツイートで高いエンゲージメントを持つ投稿を収集
- フィルタリング: 芸能人・有名人を除外し、一般人の投稿に絞り込み
- バイラル度スコア: 独自のアルゴリズムでコンテンツのバイラル度を数値化
- Googleスプレッドシート出力: 収集結果を自動的にスプレッドシートに整理
- CSV出力: ローカルファイルとしてもデータを保存
pip install -r requirements.txtpython main.py --create-configconfig.json ファイルを編集して、以下のAPIキーを設定してください:
- RapidAPIでアカウント作成
- TikTok APIを購読
- APIキーを
rapidapi_keyに設定
- Twitter Developer Portalでアプリ作成
- Bearer Tokenを
twitter_bearer_tokenに設定
- Google Cloud Consoleでプロジェクト作成
- Google Sheets APIを有効化
- 認証情報を作成(OAuth 2.0 クライアントID)
credentials.jsonをダウンロードしてプロジェクトフォルダに配置
- Google Sheetsで新しいスプレッドシートを作成
- スプレッドシートのIDをURLから取得
- URL例:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit
- URL例:
config.jsonのspreadsheet_idに設定
python main.pypython main.py --config my_config.jsonpython main.py --help{
"collect_tiktok": true,
"collect_twitter": true,
"rapidapi_key": "YOUR_RAPIDAPI_KEY_HERE",
"twitter_bearer_token": "YOUR_TWITTER_BEARER_TOKEN_HERE",
"tiktok_filters": {
"min_views": 500000,
"exclude_verified": true,
"max_account_posts": 1
},
"twitter_filters": {
"min_retweets": 1000,
"max_followers": 1000
},
"search_queries": {
"tiktok": [
"viral",
"trending",
"fyp",
"料理",
"レシピ",
"ダンス",
"歌",
"コメディ"
]
},
"google_sheets": {
"spreadsheet_id": "YOUR_SPREADSHEET_ID_HERE"
}
}collect_tiktok: TikTokデータを収集するか (true/false)collect_twitter: Twitterデータを収集するか (true/false)
rapidapi_key: RapidAPI のAPIキーtwitter_bearer_token: Twitter API のBearer Token
min_views: 最小再生数 (デフォルト: 500,000)exclude_verified: 認証済みアカウントを除外 (true/false)max_account_posts: アカウントの最大投稿数 (デフォルト: 1)
min_retweets: 最小リツイート数 (デフォルト: 1,000)max_followers: 最大フォロワー数 (デフォルト: 1,000)
search_queries.tiktok: TikTok検索で使用するキーワードリスト
spreadsheet_id: 出力先のGoogleスプレッドシートID
- CSV:
tiktok_research_results_YYYYMMDD_HHMMSS.csv - Google Sheets: 指定したスプレッドシートの新しいシート
| 項目 | 説明 |
|---|---|
| プラットフォーム | TikTok または Twitter |
| バイラル度スコア | 0-10のスコア(高いほどバイラル) |
| 再生数/リツイート数 | エンゲージメント指標 |
| いいね数 | いいね数 |
| コメント数 | コメント数 |
| タイトル/テキスト | 投稿内容 |
| ハッシュタグ | 使用されているハッシュタグ |
| アカウント名 | 投稿者のアカウント名 |
| フォロワー数 | 投稿者のフォロワー数 |
| 投稿日時 | 投稿された日時 |
| 動画URL | 動画へのリンク |
エンゲージメント率 = (いいね + コメント + シェア) / 再生数
時間要素 = 1 - (投稿からの経過時間 / 168時間)
スコア = min(10.0, エンゲージメント率 × 100 + 再生数 / 100,000) × 時間要素
エンゲージメント比率 = (リツイート + いいね + リプライ + 引用) / フォロワー数
時間要素 = 1 - (投稿からの経過時間 / 168時間)
スコア = min(10.0, エンゲージメント比率 × 1000 + 総エンゲージメント / 1000) × 時間要素
ERROR - RapidAPI呼び出しエラー: 401 Unauthorized
解決方法: config.json のAPIキーが正しく設定されているか確認
WARNING - credentials.jsonが見つかりません
解決方法: Google Cloud Consoleから credentials.json をダウンロードして配置
ERROR - Googleスプレッドシート保存エラー: 403 Forbidden
解決方法: スプレッドシートの共有設定を確認し、適切な権限を付与
WARNING - 収集されたデータがありません
解決方法:
- フィルター条件を緩和(
min_viewsを下げる等) - 検索キーワードを変更
- 時間帯を変えて実行
実行ログは tiktok_research.log に保存されます。エラーの詳細はこのファイルを確認してください。
- RapidAPI: プランに応じた月間リクエスト制限あり
- Twitter API: Basic プランは月間10,000ツイート制限
- 各プラットフォームの利用規約を遵守してください
- 収集したデータの商用利用は各サービスの規約を確認してください
- 過度なAPI呼び出しは避けてください
- 個人情報の取り扱いに注意してください
- 収集したデータの管理は適切に行ってください
このプロジェクトはMITライセンスの下で公開されています。
問題や質問がある場合は、以下を確認してください:
- このREADMEファイル
tiktok_research.logファイル- 設定ファイルの内容
- API キーの有効性
- 初回リリース
- TikTokとTwitterのデータ収集機能
- Googleスプレッドシート出力機能
- バイラル度スコア算出機能