catch-img

TikTokのデータを非公式APIで取得する方法


目次[非表示]

  1. 購買に大きな影響を与えるTikTok
  2. 非公式TikTok APIでデータを抽出する
  3. 非公式TikTok APIの仕組み
    1. get_trendingで人気投稿を落としてみる
    2. 落とせるデータは結構多い

これまでTwitter APIやInstagram APIを紹介してきましたが、今回はTikTokのデータをAPIで取得する方法をご紹介したいと思います。

購買に大きな影響を与えるTikTok

TikTokはリコメンドアルゴリズムが非常に優れており、Twitterよりも拡散性が高いと言われています。

またInstagramと同様、消費にも直接的な影響を与えるケースが多い、TikTok経由でのバカ売れなどが話題となっています。

  「TikTok売れ」若者はなぜ短い動画で本を選ぶのか | NHKニュース 【NHK】若者に人気の動画共有アプリで話題になった商品が爆発的な売り上げを記録するいわゆる「TikTok売れ」が若者の読書にも影響… NHKニュース


  3人に1人がTikTokをきっかけとした購買経験あり—精度の高い「おすすめフィード」が購買意欲をかきたてる(TORIHADA調査) | MarkeTRUNK TikTokをはじめとするクリエイティブノウハウと最先端のデジタルマーケティングを提供するTORIHADAは、2021年2月24日~3月1日の期間、「TikTokをきっかけとする商品/サービスの購買行動調査」を実施。 TikTokを利用している10~50代の男女1,035人から得た有効回答を集計・分析し、その結果を発表した。 ProFuture マーケティングソリューション


非公式TikTok APIでデータを抽出する

さて肝心のTikTokのデータ取得方法ですが、残念ながら公式APIは広告などの一部に限られ、データ取得のためのAPIは正式公開されていない模様です。

こうした状況ですが、Python上でTikTokをスクレイピングしてデータを取得してくれる非公式APIが作成・公開されているようなので、今回はこちらをご紹介させていただきます。

  GitHub - davidteather/TikTok-Api: The Unofficial TikTok API Wrapper In Python The Unofficial TikTok API Wrapper In Python. Contribute to davidteather/TikTok-Api development by creating an account on GitHub. GitHub

このTikTok APIは日本語での解説も非常に少なく、色々と躓くポイントが多いかと思われます。

下記You Tubeに製作者?の解説動画がありましたが、この動画通りVS CODEを使って動かすのが良さそうです(Google Colabではエラーで動きませんでした)。



非公式TikTok APIの仕組み

このAPIはTwitterの公式APIなどとは異なり、「PlayWright」というスクレイピングライブラリを使って、本家サイト?からデータを取得してくるという仕組みのようです。

get_trendingで人気投稿を落としてみる

今回はいくつか機能がある中で、人気投稿を取得できる「get_trending」というものを使ってみたいと思います。

これはいいね数や再生数の多いトレンド投稿を落としてくるものだと思われますが、どういうロジックで落としてくるのかは今回よく分かりませんでした(分かり次第追記いたします)。

※追記:不安定のようで取得できたりできなかったりするようです

pip install TikTokApi
python -m playwright install

from TikTokApi import TikTokApi

api = TikTokApi.get_instance()

# 取得件数
results = 3

# 解説動画にあるように認証のためのcustom_verifyFpをサイトから取得して入れる
trending = api.by_trending(count=results, custom_verifyFp="xxxxxx")

for tiktok in trending:
    print("uniqueId: ",tiktok["author"]["uniqueId"])
    print("id: " ,tiktok["id"])
    print("diggCount: ", tiktok["stats"]["diggCount"])
    print("playCount: ", tiktok["stats"]["playCount"])
    print("======================")

試しにいいね数と再生数、ユーザー名を取得した場合下記のようになります。

======================
uniqueId:  tran_huyen_trang.99
id:  7037687674626444546
diggCount:  4734
playCount:  58800
======================
uniqueId:  popcornshow6
id:  7017652850960485637
diggCount:  3500000
playCount:  67700000
======================
uniqueId:  anpanble
id:  7043804748180442370
diggCount:  62600
playCount:  672100
======================


落とせるデータは結構多い

落としてこれるデータに関しては、動画に紐づくものとユーザーに紐づくものが取れるようです。

{'diggCount': 4000000, 'shareCount': 48100, 'commentCount': 36500, 'playCount': 33200000}, 

 {'followingCount': 102, 'followerCount': 26500000, 'heartCount': 697400000, 'videoCount': 892, 'diggCount': 6945, 'heart': 697400000},

またregionの設定をしないと日本意外の投稿も多く集まってしまうため、このあたりの設定もいずれ深堀りできればと思います。

最後にせっかくなので取得したデータはデータポータルに落として、一覧で見られるようにしてみたいと思います。下記リンクよりご確認いただけます。

https://datastudio.google.com/s/qaAsTW9e-vY



以上、TikTokの非公式APIのご紹介でした。

▼合わせて読みたい

  【難解!?】Twitter APIを使って投稿データを収集する方法 | 広報・PR支援の株式会社ガーオン Twitter Search APIを非エンジニアの方にも、なるべく分かりやすく解説し、全体概要や費用などを解説した上で、具体的なデータ取得方法まで解説していきたいと思います。 広報・PR支援の株式会社ガーオン


  Spotify APIで楽曲の分析データを取得する方法 | 広報・PR支援の株式会社ガーオン Spotify APIで楽曲の分析データを取得し、可視化しダッシュボードにまとめてみます。 広報・PR支援の株式会社ガーオン


  【ML-Ask】感情分析AIは実際に使えるのか検証してみる | 広報・PR支援の株式会社ガーオン 朝日新聞の記事にも使われている「ML-Ask」という感情分析モデルを実際に使ってみて検証していきたいと思います。 広報・PR支援の株式会社ガーオン


  ソーシャルデータから読み解くボヘミアンラプソディの口コミ形成とメディア露出効果 | 広報・PR支援の株式会社ガーオン ボヘミアン・ラプソディの大ヒットにはSNSやテレビはどのような影響を与えていたのでしょうか。YouTubeとの相乗効果も合わせて検証します。 広報・PR支援の株式会社ガーオン



関連記事

広報・PRやプレスリリースまわりでお困りのことはございませんか?
多数の企業サポートを行ってきた当社が解決いたします。
お気軽にお問合せください。