似た商品について動画を投稿する2つのチームがあるとします。一方は再生数、もう一方はコメント数に注目し、さらに別のチームはチャットにリンクを保存しています。1週間後には、競合の間でどの形式が繰り返し使われているのか、どの投稿が目立った反応を集めているのか、前回確認したときから何が変わったのかを把握するのが難しくなります。
解決策は、あらかじめ決めたキーワードで公開動画の範囲を絞って再現可能なサンプルを収集し、元のJSONを保存したうえで、項目を統一した表を作ることです。これにより、偶然の観察と市場に関する結論を混同せず、同じ作業手順の中で動画を比較できます。以下では、jsonscraperのTikTok Scraper APIを使った、小規模なPython競合モニタリングの方法を説明します。
まず分析の問いを定める
収集したデータをもとにどのような判断をするのか、あらかじめ明確にしておくと、データ収集が有用になります。たとえば、スポーツボトルメーカーのマーケティングチームが、競合他社が短い動画で商品をどのように紹介しているかを把握したいとします。使用方法の実演、開封、比較、ユーザーの反応などが考えられます。そのためにTikTok全体をコピーする必要はありません。必要なのは、対象を絞った検索クエリと、それらのクエリに対してAPIが返す動画を繰り返し観察することです。
検証できる形で問いを設定しましょう。たとえば、「指定した5つのキーフレーズで公開された動画には、どのような紹介・実演形式が見られるか。また、見つかった動画のうち、現時点で再生数と反応数が最も多いのはどれか」とします。この問いは分析を2つの層に分けます。テキストや説明文はクリエイティブの方向性を分類するのに役立ち、再生数、いいね数、コメント数、シェア数は収集時点における公開反応のスナップショットを示します。
このスナップショットは、手動で確認する対象の優先順位付けや変化の追跡に役立ちます。これは特定のクエリ、パラメーター、実行時刻で返された動画についての記録です。そのため、「今回のサンプルでは開封動画がよく見られる」や「この動画グループは現時点で再生数の中央値が高い」といった結論が適切です。この範囲で分析すれば、チームは自社コンテンツ向けの仮説を選びやすくなります。
小規模なデータパイプラインを設計する
作業を収集、元データの保存、正規化、分析の4段階に分けます。収集段階では、承認済みの各キーワードでAPIにリクエストします。元データは再確認できるよう、加工せずに保存します。正規化では、入れ子になったJSON構造を表の行に変換します。分析では指標を計算し、キーワードや手動で付与した形式別に動画をグループ化します。
- 収集。各キーワードについて、同じ地域と並べ替え条件を指定し、決めた件数の結果をリクエストします。
- アーカイブ。取得時刻とともに元のJSONを保存し、抽出した値を後から確認できるようにします。
- 正規化。動画ID、リンク、説明文、投稿者、投稿時刻、取得可能なカウンターを残します。
- 品質管理。IDで重複を除き、欠損値に印を付け、動画が見つかったキーワードを保存します。
- 比較。利用可能な元データ項目だけから独自の指標を計算し、同じスナップショット内でグループを比較します。
この方法はリンクの一覧よりも優れています。各行の出所を保持でき、同じ動画が再び見つかった場合と新しい動画を区別できるためです。収集日も保存しましょう。公開カウンターは変化する可能性があるため、今日のレスポンスに含まれる値を動画の固定的な特性として扱うことはできません。
TikTok Scraper APIで利用できる機能
テキストクエリによる動画検索について、jsonscraperのドキュメントでは、ベースURL https://tiktok.evelode.com に対するGETルート /searchVideo が説明されています。必須パラメーターは keyword で、count、cursor、region、date_posted、sort_by、cache_timeout も利用できます。ドキュメントに記載された並べ替え方法は most-liked、relevance、date-posted です。投稿期間には yesterday、this-week、this-month、last-3-months、last-6-months、all-time があります。パラメーター名と用途は