Skip to content

Repository files navigation

TikTokリサーチツール

TikTokとTwitterのバイラルコンテンツを自動収集し、Googleスプレッドシートに結果を出力するPythonツールです。

機能

  • TikTok動画収集: 24時間以内で50万再生以上のバイラル動画を自動検出
  • Twitter投稿収集: 動画付きツイートで高いエンゲージメントを持つ投稿を収集
  • フィルタリング: 芸能人・有名人を除外し、一般人の投稿に絞り込み
  • バイラル度スコア: 独自のアルゴリズムでコンテンツのバイラル度を数値化
  • Googleスプレッドシート出力: 収集結果を自動的にスプレッドシートに整理
  • CSV出力: ローカルファイルとしてもデータを保存

セットアップ

1. 依存関係のインストール

pip install -r requirements.txt

2. 設定ファイルの作成

python main.py --create-config

3. API キーの設定

config.json ファイルを編集して、以下のAPIキーを設定してください:

RapidAPI (TikTok用)

  1. RapidAPIでアカウント作成
  2. TikTok APIを購読
  3. APIキーを rapidapi_key に設定

Twitter API (オプション)

  1. Twitter Developer Portalでアプリ作成
  2. Bearer Tokenを twitter_bearer_token に設定

4. Google Sheets API の設定

4.1 Google Cloud Console での設定

  1. Google Cloud Consoleでプロジェクト作成
  2. Google Sheets APIを有効化
  3. 認証情報を作成(OAuth 2.0 クライアントID)
  4. credentials.json をダウンロードしてプロジェクトフォルダに配置

4.2 スプレッドシートの準備

  1. Google Sheetsで新しいスプレッドシートを作成
  2. スプレッドシートのIDをURLから取得
    • URL例: https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit
  3. config.jsonspreadsheet_id に設定

使用方法

基本実行

python main.py

設定ファイルを指定して実行

python main.py --config my_config.json

ヘルプの表示

python main.py --help

設定ファイル (config.json)

{
  "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)

API設定

  • rapidapi_key: RapidAPI のAPIキー
  • twitter_bearer_token: Twitter API のBearer Token

TikTokフィルター

  • min_views: 最小再生数 (デフォルト: 500,000)
  • exclude_verified: 認証済みアカウントを除外 (true/false)
  • max_account_posts: アカウントの最大投稿数 (デフォルト: 1)

Twitterフィルター

  • min_retweets: 最小リツイート数 (デフォルト: 1,000)
  • max_followers: 最大フォロワー数 (デフォルト: 1,000)

検索クエリ

  • search_queries.tiktok: TikTok検索で使用するキーワードリスト

Google Sheets設定

  • spreadsheet_id: 出力先のGoogleスプレッドシートID

出力データ

出力形式

  • CSV: tiktok_research_results_YYYYMMDD_HHMMSS.csv
  • Google Sheets: 指定したスプレッドシートの新しいシート

データ項目

項目 説明
プラットフォーム TikTok または Twitter
バイラル度スコア 0-10のスコア(高いほどバイラル)
再生数/リツイート数 エンゲージメント指標
いいね数 いいね数
コメント数 コメント数
タイトル/テキスト 投稿内容
ハッシュタグ 使用されているハッシュタグ
アカウント名 投稿者のアカウント名
フォロワー数 投稿者のフォロワー数
投稿日時 投稿された日時
動画URL 動画へのリンク

バイラル度スコア算出方法

TikTok

エンゲージメント率 = (いいね + コメント + シェア) / 再生数
時間要素 = 1 - (投稿からの経過時間 / 168時間)
スコア = min(10.0, エンゲージメント率 × 100 + 再生数 / 100,000) × 時間要素

Twitter

エンゲージメント比率 = (リツイート + いいね + リプライ + 引用) / フォロワー数
時間要素 = 1 - (投稿からの経過時間 / 168時間)
スコア = min(10.0, エンゲージメント比率 × 1000 + 総エンゲージメント / 1000) × 時間要素

トラブルシューティング

よくある問題

1. APIキーエラー

ERROR - RapidAPI呼び出しエラー: 401 Unauthorized

解決方法: config.json のAPIキーが正しく設定されているか確認

2. Google Sheets認証エラー

WARNING - credentials.jsonが見つかりません

解決方法: Google Cloud Consoleから credentials.json をダウンロードして配置

3. スプレッドシートアクセスエラー

ERROR - Googleスプレッドシート保存エラー: 403 Forbidden

解決方法: スプレッドシートの共有設定を確認し、適切な権限を付与

4. データが収集されない

WARNING - 収集されたデータがありません

解決方法:

  • フィルター条件を緩和(min_views を下げる等)
  • 検索キーワードを変更
  • 時間帯を変えて実行

ログファイル

実行ログは tiktok_research.log に保存されます。エラーの詳細はこのファイルを確認してください。

注意事項

API制限

  • RapidAPI: プランに応じた月間リクエスト制限あり
  • Twitter API: Basic プランは月間10,000ツイート制限

利用規約

  • 各プラットフォームの利用規約を遵守してください
  • 収集したデータの商用利用は各サービスの規約を確認してください
  • 過度なAPI呼び出しは避けてください

プライバシー

  • 個人情報の取り扱いに注意してください
  • 収集したデータの管理は適切に行ってください

ライセンス

このプロジェクトはMITライセンスの下で公開されています。

サポート

問題や質問がある場合は、以下を確認してください:

  1. このREADMEファイル
  2. tiktok_research.log ファイル
  3. 設定ファイルの内容
  4. API キーの有効性

更新履歴

v1.0.0 (2024-08-02)

  • 初回リリース
  • TikTokとTwitterのデータ収集機能
  • Googleスプレッドシート出力機能
  • バイラル度スコア算出機能

About

TikTok & Twitter viral content analysis tool with Google Sheets integration. Automatically detects viral content, calculates viral scores, and exports results to spreadsheets.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages