Sジブンノート

TikTokの動画を集める自動化

みなさんご存知の TikTok。

私は普段、気に入った動画をブックマークして、後から見返すことがあります。
ただ、都合により、動画ファイルそのものが必要になる場面があります。
そのため、右クリックのコンテキストメニューから動画を保存する、公式で提供されている方法を利用しています。

手作業の負担

保存したい動画の数が増えてくると、この作業を手動で繰り返すことが、次第に負担になってきました。
抜け漏れ重複があったり、つまらない作業で違う操作をしてしまったりします。
そこで、もう少し楽にできないかと考えたことが、今回の取り組みの発端です。

API は提供されていない

TikTok では、ログインユーザーがブックマークした動画の一覧取得や、動画ダウンロードを行う公式 API は提供されていません。
非公式 API はいくつか存在するようですが、公式側の仕様変更とのいたちごっこになりやすく、安定した運用は難しそうでした。
また、そもそも非公式 API を利用すること自体、適切とは言えません。

Chrome 拡張機能

そこで私は、Chrome 拡張機能を使って、自分が普段行っている操作そのものを自動化する方法を選びました。
この拡張機能は個人利用のために作成したもので、公開はしていません。
コードはかなりぐちゃぐちゃしていますが、動けばヨシッとしています。

近年は AI の支援もあり、このようなニッチな自動化も比較的簡単に実現できるようになったと感じています。
以前であれば、環境構築や Chrome 拡張特有の API の使い方を思い出すだけでも、かなりの時間を要していました。

実際の自動化フロー

Chrome 拡張機能を利用すると、TikTok に事前にログインした状態を保ったまま、Chrome 上の操作をそのまま再現できます。

具体的には、次のような流れです。

  1. 自分のプロフィールページを開く
  2. ブックマークアイコンをクリックし、保存済みの動画一覧を表示する
  3. 動画を右クリックして保存する
  4. 次の動画へ移動するボタンをクリックする
  5. 3 に戻る

この一連の流れは、実際に私が手動で行っていた操作です。
そのため、Chrome 拡張機能でも、同じ手順をそのまま機能として実装できました。

運用上の工夫

ブックマーク自体は解除せず、コレクション機能を使って、最後に保存した動画をチェックポイントとして記録しています。
次回の収集では、その動画より前までを対象にすることで、重複を避けた運用ができています。

TikTok の仕様を前提に

TikTok は、スクレイパー対策が非常に徹底されている印象があります。
動画ファイルのリンクを直接取得し、別タブで保存するといった方法は、可能ではあるものの手間がかかり、構造変更の影響も受けやすいです。

その点、公式が提供している機能を前提に自動化することで、安定した運用ができています。
現時点では、この方法で半年ほど継続して利用できています。