【Python】TikTokの分析に使えるTikTokApiのインストール

【Python】TikTokの分析に使えるTikTokApiのインストール プログラミング

「TikTokのAPIが使い物にならない」
「TikTokのデータをPythonで取得したい」
「TikTokをスクレイピングしようと考えている」

このような場合には、TikTokApiが利用できます。
この記事では、TikTokApiについて解説しています。

本記事の内容

  • TikTokApiとは?
  • TikTokApiのシステム要件
  • TikTokApiのインストール
  • TikTokApiの動作確認

それでは、上記に沿って解説していきます。

TikTokApiとは?

TikTokApiは、TikTokから情報を取得するためのPythonライブラリです。
TikTokApi自体は、非公式なAPIラッパーという位置づけになります。

機能としては、トレンド情報や特定のユーザーの情報を取得できます。
それら以外にも、多くのことが可能です。

ここで、非公式なAPIラッパーという表現を説明しておきます。
TikTokには、いくつか公式のAPIが存在しています。

しかし、それらの公式APIは次の残念な点があります。

  • 有料(TikTok Marketing API)
  • 使い物にならない(Embedded Videos)

つまり、TikTokは無料で使えるデータを提供する気はないということです。
じゃあ、スクレイピングでデータを取得するしかありませんね。

というわけで、スクレイピングする人々が現れることになります。
その過程で開発されたのが、TikTokApiということでしょう。

TikTokApiは、TikTok専用のスクレイピングライブラリと言えます。
なお、TikTokApiのスポンサーには、TikAPIというサービス会社が存在しています。

TikAPIは、TikTok非公式のAPIを提供するサービスのようです。
「TikTokApiは無料です!!」と但し書きがあります。
勘違いする人がいるかもしれませんからね。

このようなグレーのビジネスが存在するほど、TikTokには価値があるということでしょう。
そんな価値あるデータを無料で取得できるのが、TikTokApiということです。

以上、TikTokApiについて説明しました。
次は、TikTokApiのシステム要件を確認します。

TikTokApiのシステム要件

現時点(2021年10月末)でのTikTokApiの最新バージョンは、4.0.4となります。
この最新バージョンは、2021年9月23日にリリースされています。
更新頻度は、多めです。

おそらく、TikTokの仕様変更に合わせて更新しているのでしょう。
そのため、TikTokApiは常時最新を利用する必要があると言えます。

TikTokApiのシステム要件は、以下に注意する必要があります。

  • OS
  • Python
  • Playwright

それぞれを下記で説明します。

OS

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

WindowsとLinux(Ubuntu)は、実際に動作確認済みです。
ただし、Windows以外は導入の難易度が上がるでしょう。

それは、下記で説明するPlaywrightが関係しています。

Python

サポート対象となるPythonのバージョンは、以下となります。

  • Python 3.7
  • Python 3.8
  • Python 3.9

要するに、古いPythonはダメということです。
次のPython公式開発サイクルに従っていれば、問題はないはずです。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

ただ、Python 3.10はまだ様子見の方がよいでしょう。
依存関係のあるライブラリなどで、まだ問題があるのかもしれません。

PlayWright

「OS」の部分で触れたPlaywrightです。
Playwrightは、ブラウザを操作するNode.jsベースのライブラリになります。

TikTokApiは、SeleniumではなくPlaywrightを利用しています。
このPlaywrightのインストールが、OSで異なります。
難易度が、明らかに違います。

それは、エラーメッセージからもわかります。
まずは、共通のエラーメッセージから確認しましょう。

WindowsとLinux(Ubuntu)両方において、Playwrightが未インストールの場合は次のメッセージが出ます。
多分、macOSも同じだと思います。

╔═════════════════════════════════════════════════════════════════════════╗ 
║ Looks like Playwright Test or Playwright was just installed or updated. ║ 
║ Please run the following command to download new browsers:              ║ 
║                                                                         ║ 
║     playwright install                                                  ║ 
║                                                                         ║ 
║ <3 Playwright Team                                                      ║ 
╚═════════════════════════════════════════════════════════════════════════╝ 

この状態で「python -m playwright install」を実行した後が、OSで異なります。
Windowsにおいては、もう何もエラーが出ません。

しかし、Linuxにおいては以下のエラーが出るのです。
長いので、一部のみ抜粋。

  Missing libraries we didn't find packages for: 
      liblcms2.so.2

もちろん、環境によっては出ないこともあるのでしょう。
そして、これを解決したら、次は以下のエラーが出ます。

╔════════════════════════════════════════════════════════════╗ 
║ Host system is missing a few dependencies to run browsers. ║ 
║ Please install them with the following command:            ║ 
║                                                            ║ 
║     sudo npx playwright install-deps                       ║ 
║                                                            ║ 
║ <3 Playwright Team                                         ║ 
╚════════════════════════════════════════════════════════════╝

これを解決するためには、npm(Node.js)をインストールするところからです。
ただし、Node.jsをインストールしなくてもよい方法が存在します。
その方法を下記で説明しています。

明らかに、WindowsよりはPlaywrightを動かすハードルが高いです。
おそらく、macOSも同じではないでしょうかね。

まとめ

Windowsが手元にある場合は、Windowsでのインストールから始めましょう。
そして、Pythonのバージョンに関しては、古くないPythonを使います。

このことだけを意識すれば、TikTokApiのシステム要件はそんなに難しくありません。

以上、TikTokApiのシステム要件を説明しました。
次は、TikTokApiをインストールします。

TikTokApiのインストール

検証は、次のバージョンのPythonで行います。

>python -V   
Python 3.9.7

まずは、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.3.1
setuptools 58.3.0

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、TikTokApiのインストールです。
TikTokApiのインストールは、以下のコマンドとなります。
この順番通りにコマンドを実行します。

pip install TikTokApi 
python -m playwright install

インストールは、しばらく時間がかかります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list 
Package            Version 
------------------ --------- 
async-generator    1.10 
attrs              21.2.0 
certifi            2021.10.8 
cffi               1.15.0 
charset-normalizer 2.0.7 
cryptography       35.0.0 
greenlet           1.1.2 
h11                0.12.0 
idna               3.3 
outcome            1.1.0 
pip                21.3.1 
playwright         1.16.0 
pycparser          2.20 
pyee               8.2.2 
pyOpenSSL          21.0.0 
requests           2.26.0 
selenium           4.0.0 
selenium-stealth   1.0.6 
setuptools         58.3.0 
six                1.16.0 
sniffio            1.2.0 
sortedcontainers   2.4.0 
TikTokApi          4.0.4 
trio               0.19.0 
trio-websocket     0.9.2 
urllib3            1.26.7 
websockets         10.0 
wsproto            1.0.0

依存するパッケージは、多いです。
そのため、Python仮想環境の利用をおススメします。

Windowsなら、IDEにPyCharmを使えば簡単に仮想環境を利用できます。
プロジェクト(今回ならTikTokApi専用)毎に仮想環境となります。

また、次の記事のようにコマンドでも簡単に仮想環境を利用できます。
GUIのない Linuxサーバーなら、こちらが一般的となるでしょう。

以上、 TikTokApiのインストールについて説明しました。
最後は、 TikTokApiの動作確認を行います。

TikTokApiの動作確認

追記 2022年4月7日
TikTokApi V5では、以下のサンプルコードは動きません。
TikTokApi V5の場合は、次の記事をご覧ください。

TikTokApiの動作確認は、次のコードで行います。
公式に掲載されているサンプルコードを少し変更しています。

from TikTokApi import TikTokApi
api = TikTokApi.get_instance()
results = 5

# Since TikTok changed their API you need to use the custom_verifyFp option.
# In your web browser you will need to go to TikTok, Log in and get the s_v_web_id value.
trending = api.by_trending(count=results, custom_verifyFp="")

for tiktok in trending:
    # Prints the id of the tiktok
    print(tiktok['desc'])

print(len(trending))

上記を実行すると、以下のような結果が表示されます。

Challenge the Game discussed mental health, equality and love for the game! Celebrate all women in sports using #HerStory
Check out our new tutorial on going LIVE!
You can now ask and answer any questions on LIVE with the new Q&amp;A feature. Check it out now!
🚨New feature alert!🚨more #Duet  layouts are now available. Try them out now!
Now Introducing: STITCH! Make the ultimate collab with your fav creators 🎬
5

トレンドに掲載されている動画の情報を取得できています。
なお、取得したデータ(tiktok変数)の形式は以下ページで確認できます。

https://gist.github.com/davidteather/7c30780bbc30772ba11ec9e0b909e99d

ここまで確認できれば、TikTokApiの動作確認としてはOKです。
以上、TikTokApiの動作確認を説明しました。

追記 2021年10月27日
TikTokApiを実際に利用したい場合は、次の記事をご覧ください。
ユーザー別に動画投稿を最大で2000件まで取得する方法を解説しています。

タイトルとURLをコピーしました