TikTokスクレイパーAPIガイド: プロフィール、投稿、ショップデータ
Expert in Web Scraping Technologies
TL;DR:
- 三つのアクターがコアワークフローをカバーします。 公共アカウントの詳細には
scraper.tiktok.user.detail、クリエイターの公共投稿にはscraper.tiktok.user.work、ショップ製品ページにはscraper.tiktok.shop.pageを使用します。 - プロフィールコールは投稿データへのブリッジです。
unique_idを受け入れ、投稿アクターが期待するsec_uidを返します。 - ショップリクエストには製品コンテキストが必要です。
product_idとregionの両方を送信してください; レコードを比較する前に、返された地域と通貨を読み取ります。 - レスポンスは構造化されたJSONです。 識別子を文字列として保存し、nullable フィールドを維持し、生のレスポンスを正規化されたテーブルの横に保持します。
- TikTokスクレイパAPIはスナップショットを返します。 スケジューリング、履歴、スコアリング、およびアラートは、呼び出すパイプラインに属します。
- 無料で始められます。 新しいScrapelessアカウントには無料クレジットが含まれています; Scrapelessダッシュボードでアカウントを作成してください。
Introduction: one endpoint, three useful TikTok datasets
TikTokデータプロジェクトは通常簡単な質問から始まります: どの公共アカウント、投稿、または製品フィールドをワークフローがブラウザパーサを維持せずに収集できますか? 答えはオブジェクトに依存します。クリエイタープロフィール、クリエイターの投稿フィード、そしてショップ製品ページは異なる識別子とレスポンスの形状を持っています。
Scrapeless TikTokスクレイパAPIは、1つのリクエストエンドポイントの背後に管理されたアクターを通じてこれらのオブジェクトを公開します。このAPIはHTTPを介してJSONを返すため、スクリプト、データジョブ、内部ツール、エージェントワークフローに適合します。このガイドはアクターをマッピングし、認証されたリクエストを送信し、そのレスポンスを最初の実行後にも理解できるレコードに変換します。
管理されたアクターのより広い視野については、Scrapeless Scraper APIガイドをお読みください。
What the TikTok Scraper API Does
APIはアクター名と input オブジェクトを含むJSONリクエストを受け入れます。Scrapelessはアクターを実行し、アクターの構造化された結果を返します。トランスポートは、HTTPセマンティクス仕様 に記載されている標準的なHTTPリクエストセマンティクスに従い、レスポンスボディはIANAのメディアタイプレジストリ にリストされた登録されたJSONメディアタイプを使用します。
3つのTikTokアクターは異なるジョブを提供します:
| Actor | Required input | Main result |
|---|---|---|
scraper.tiktok.user.detail |
unique_id |
公共プロフィールの詳細とアカウント統計 |
scraper.tiktok.user.work |
sec_uid |
公共投稿とメディア、音楽、ハッシュタグ、エンゲージメントフィールド |
scraper.tiktok.shop.page |
product_id, region |
製品、販売者、価格、在庫、オプション、SKU、出荷フィールド |
これらのサーフェスはフォロワーリスト、オーディエンスの人口統計、コメントテキスト、完全なTikTokカタログ、または注文台帳を提供しません。リクエストされた公共オブジェクトの時点観測として、すべてのレスポンスを扱ってください。
What You Can Build With It
- クリエイター調査。 プロフィール統計と最新の投稿サンプルを結合し、人間がブランドフィットを確認する前に確認します。
- コンテンツ監視。 選択されたアカウントの説明、投稿URL、タイムスタンプ、ハッシュタグ、および公共エンゲージメントカウントをキャプチャします。
- カタログチェック。 IDおよび地域ごとに知られているショップ製品を読み取り、価格、通貨、在庫、バリアント情報を含みます。
- 製品スナップショット。 収集されたタイムスタンプを持つ繰り返しの製品レスポンスを保存し、履歴テーブルを構築します。
- 内部強化。 レンダリングされたページマークアップをスクレイピングすることなく、既存のクリエイターまたは製品レコードに公共TikTokフィールドを追加します。
Endpoints and Parameters
すべてのアクターは同じエンドポイントを使用します:
POST https://api.scrapeless.com/api/v1/scraper/request
認証は x-api-token リクエストヘッダーを使用します。ボディには actor と input が含まれます。
Profile parameters
scraper.tiktok.user.detail は unique_id を受け入れ、先頭の @ のないユーザー名です。そのレスポンスには account_id、unique_id、sec_uid、ニックネーム、プロフィールURL、バイオ、アバター、公共アカウント統計、アカウント作成時間、言語、国、および検証、プライバシー、販売者ステータスのようなブールフラグが含まれることがあります。
Post parameters
scraper.tiktok.user.work は sec_uid を必要とします。また、cursor を文字列として、count を正の整数として受け入れます。デフォルトの cursor は 0 であり、文書化されたデフォルト count は 35 です。レスポンスには items 配列が含まれます。継続フィールドを発明しないでください: レスポンスと現在のドキュメントがワークフローのために確認された継続値を提供する場合のみ進めてください。
Shop parameters
scraper.tiktok.shop.page は product_id と region を必要とします。ドキュメントの地域の例には GB、 SG、 JP、および US が含まれています。これらは網羅的な市場リストではなく、例です。応答の region は解決した商品のページを表し、価格と通貨とともに移動するべきです。
俳優の詳細は、TikTokユーザー詳細ドキュメント、TikTokユーザー作業ドキュメント、および TikTok Shopページドキュメント で入手できます。
前提条件
- Scrapeless Dashboard からのScrapelessアカウントとAPIトークン
- 標準ライブラリを備えたPython
- 公開されているTikTokユーザー名または既知のTikTok Shop製品ID
- 収集されるデータのための許可された目的と保持ポリシー
例は、ライブScrapeless APIトークンを必要とします。コードを実行する前に SCRAPELESS_API_KEY としてエクスポートしてください。
認証されたリクエストを送信する
このcurl呼び出しは公開プロフィールデータを取得します。ユーザー名を、ワークフローが調査することが許可されているアカウントに置き換えてください。
bash
curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
--header "x-api-token: ${SCRAPELESS_API_KEY}" \
--header 'content-type: application/json' \
--data '{
"actor": "scraper.tiktok.user.detail",
"input": {"unique_id": "tiktok"}
}'
同じエンベロープは他の俳優にも適用されます。俳優と入力フィールドのみが変更されます。
Scrapelessでスクレイピングを開始する
Scrapelessを使ってウェブスクレイピングと自動化のワークフローを強化しましょう!
今日はサインアップして**$5の無料クレジット**を取得しましょう — クレジットカードは不要です。Scrapeless Dashboard で今すぐ無料クレジットを請求してください。
Pythonでプロフィールと投稿データを結合する
便利な結合キーは sec_uid です。次のプログラムは、プロフィール応答からそれを取得し、その後制約付きの投稿サンプルを要求します。PythonのJSONライブラリのドキュメントは、ここで使用されるシリアル化の動作を説明しています。
python
import json
import os
from urllib.request import Request, urlopen
ENDPOINT = "https://api.scrapeless.com/api/v1/scraper/request"
TOKEN = os.environ["SCRAPELESS_API_KEY"]
def run_actor(actor, actor_input):
body = json.dumps({"actor": actor, "input": actor_input}).encode()
request = Request(
ENDPOINT,
data=body,
headers={
"x-api-token": TOKEN,
"content-type": "application/json",
},
method="POST",
)
with urlopen(request, timeout=60) as response:
return json.load(response)
profile = run_actor(
"scraper.tiktok.user.detail",
{"unique_id": "tiktok"},
)
posts = run_actor(
"scraper.tiktok.user.work",
{"sec_uid": profile["sec_uid"], "cursor": "0", "count": 10},
)
record = {
"profile": {
"account_id": str(profile.get("account_id", "")),
"unique_id": profile.get("unique_id"),
"sec_uid": profile.get("sec_uid"),
"nickname": profile.get("nickname"),
"statistics": profile.get("statistics", {}),
},
"posts": posts.get("items", []),
}
print(json.dumps(record, ensure_ascii=False, indent=2))
数字のみを含む場合でも、IDは文字列のままにしてください。これにより、大きな数値を制限された数値精度で表現する下流ツールでの精度損失を避けることができます。
推測せずに応答スキーマを読む
プロフィール、投稿、およびShop応答には、別々の正規化ルールが必要です。
プロフィールの場合、IDフィールドはネストされた統計オブジェクトの側に保持してください。投稿の場合、投稿IDとURL、説明、作成時間、公開カウント、メディアフィールド、ハッシュタグ、言語、ピン留めまたは広告フラグ、音楽、字幕、および権限が存在する場合に保持します。メディアURLと字幕は空白の可能性があるため、空の値は失敗したリクエストとは異なります。
Shop製品の場合、製品レベルのフィールドをSKUレベルのフィールドから分けます。表示価格、総在庫、売り手、カテゴリ、貨物の詳細が製品応答を説明します。各SKUには独自のオプションと可用性があります。sold_count は製品ページによって返される値であり、検証された注文元帳や特定の期間のGMV数値ではありません。
構造化出力の処理
耐久性のあるテーブルは、4つの選択肢から始まります。
- 俳優の応答の外側にコレクションのタイムスタンプを追加する。
- 監査と再処理のために生のJSONを保持する。
- プロフィール、投稿、製品、およびSKUを別々のテーブルに正規化する。
- 不在および空のフィールドを、ソースの意味が他の意味を確立するまで不明として扱う。
個人データについては、述べられた目的に必要な公開フィールドのみを収集します。NISTプライバシーフレームワークは、プライバシーリスクを特定し、収集、アクセス、および保持に関する制御を設定するのに役立つ構造を提供します。
Scrapelessは、これらの俳優をスクレイピングAPIの下にパッケージします。生産量を推定する前に現在の価格ページをチェックしてください。
防ぐべき共通の問題
sec_uidが必要な場所でユーザー名を使用する。 プロフィールを最初に解決し、そのsec_uidを投稿俳優に渡します。- すべての空のメディアフィールドをエラーとして扱う。 オプションのフィールドは有効な応答内で空であることがあります。
- 製品とSKUの在庫を統合する。 どちらのレベルも保持し、バリアントの変更が製品スナップショットを上書きしないようにします。
- 地域と通貨を考慮せずに価格を比較する。 すべての観察に対して両方のフィールドを保存してください。
- スナップショットをトラッカーと呼ぶ。 トラッカーにはスケジューラー、タイムスタンプ付きストレージ、比較ロジック、およびアラート先が必要です。
結論:安定したオブジェクトを中心に構築する
TikTokスキャパAPIは、3つの一般的なジョブを明確なアクターコールに簡略化します:アカウントを解決する、限定された公共投稿のサンプルを収集する、または地域内の既知のShop製品を取得する。主なエンジニアリング作業はデータモデリングに移行します:識別子を保持し、生データレスポンスを保管し、タイムスタンプを添付し、製品レコードをバリアントから分離します。
TikTokデータパイプラインの構築の準備はできましたか?
Scrapeless DiscordまたはTelegramコミュニティに参加して、実装ノートを比較してください。最初のリクエストを送信する準備ができたら、Scrapeless Dashboardでアカウントを作成してください。
FAQ
Q: TikTokスキャパAPIとは何ですか?
TikTokスキャパAPIは、サポートされた公共TikTokページをHTTPリクエストを通じて構造化データに変換します。Scrapelessは、ユーザーの詳細、ユーザーポスト、およびShop製品ページのための別々のアクターを公開しています。
Q: APIはTikTokユーザー名から投稿を取得できますか?
はい、2つのコールワークフローを通じて。まず、scraper.tiktok.user.detailを使用してユーザー名を解決し、次に返されたsec_uidをscraper.tiktok.user.workに渡します。
Q: APIはコメントやフォロワーリストを返しますか?
いいえ。ここで取り上げられている文書化されたアクターは、コメントテキスト、フォロワーリスト、またはオーディエンスの人口統計を返しません。
Q: TikTok Shopの応答にはSKUデータが含まれていますか?
はい。Shopアクターは、製品レベルの価格、通貨、在庫、販売者、カテゴリ、画像、評価、レビュー、および配送フィールドとともに、オプションとSKUレコードを返すことができます。
Q: 公共のTikTokデータをスクレイピングすることは合法ですか?
合法性は、管轄区域、データ、目的、アクセス方法、および適用される条件に依存します。公共データのみを使用し、収集を最小限に抑え、保存されたレコードを保護し、特定のプロジェクトのために法的助言を取得してください。
Q: プロキシやページ防御を管理する必要がありますか?
管理されたアクターはAPIコールの背後にある収集面を処理します。しかし、アプリケーションは依然として有効な入力、明確なエラーハンドリング、および保守的なリクエストプランニングが必要です。
Q: AIエージェントなしでワークフローを実行できますか?
はい。JSONを送信できる任意のHTTPクライアントとx-api-tokenヘッダーがエンドポイントを呼び出すことができます。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



