Quay lại blog

Hướng dẫn Scraper TikTok Shop: Dữ liệu sản phẩm, Giá cả và SKUs

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

01-Sep-2026

TL;DR:

  • Một trình thu thập dữ liệu TikTok Shop bắt đầu với một sản phẩm đã biết. Gửi product_idregion đến scraper.tiktok.shop.page.
  • Sản phẩm và bản ghi biến thể cần các bảng riêng biệt. Giá, tồn kho, người bán và vận chuyển ở cấp sản phẩm không nên ghi đè lên các tùy chọn và khả năng có sẵn ở cấp SKU.
  • Khu vực và tiền tệ thuộc về mọi quan sát. Khu vực được trả về đại diện cho trang đã giải quyết, trong khi tiền tệ cung cấp ý nghĩa cho giá.
  • Nhãn bán hàng có giới hạn. Bảo tồn sold_count như đã trả về; không giải thích lại dưới dạng GMV, sổ đặt hàng hoặc doanh thu cho một khoảng thời gian đã chọn.
  • Ảnh chụp hỗ trợ theo dõi. Diễn viên trả về dữ liệu sản phẩm; lập lịch và lịch sử được xây dựng bởi ứng dụng gọi.
  • Miễn phí để bắt đầu. Các tài khoản Scrapeless mới bao gồm tín dụng miễn phí thông qua Bảng điều khiển Scrapeless.

Giới thiệu: mô hình sản phẩm trước khi xây dựng nguồn cấp dữ liệu

Trang sản phẩm TikTok Shop kết hợp nhiều loại dữ liệu khác nhau: danh tính sản phẩm, danh tính người bán, giá hiển thị, tổng tồn kho, tùy chọn có thể chọn, SKUs, hình ảnh, đánh giá, nhận xét, danh mục và chi tiết vận chuyển. Làm phẳng tất cả những điều đó thành một hàng hoạt động cho đến khi một sản phẩm có nhiều biến thể hoặc một trường thiếu ở một khu vực nào đó.

Trình thu thập dữ liệu TikTok Shop Scrapeless trả về một phản hồi sản phẩm có cấu trúc từ một ID sản phẩm và khu vực đã biết. Hướng dẫn này cho thấy yêu cầu, ánh xạ các trường và xây dựng một bộ chuẩn hóa Python sạch cho các bản ghi sản phẩm và SKU. Đối với lớp phủ yêu cầu chung được sử dụng bởi các diễn viên dữ liệu được quản lý, hãy đọc hướng dẫn diễn viên dữ liệu Scrapeless đã được xuất bản.

Những gì Trình thu thập Dữ liệu TikTok Shop Trả về

Diễn viên scraper.tiktok.shop.page được thiết kế để tìm kiếm chi tiết sản phẩm. Nó có thể trả về:

  • ID sản phẩm, tên, khu vực, người bán và số lượng đã bán
  • giá hiển thị và tiền tệ
  • tổng tồn kho
  • đánh giá và số lượng nhận xét
  • hình ảnh sản phẩm
  • định nghĩa tùy chọn và bản ghi SKU
  • khả năng có sẵn SKU
  • thông tin chi tiết người bán, danh mục và thông tin vận chuyển

Phản hồi mô tả một trang sản phẩm công khai được yêu cầu tại thời điểm thu thập. Nó không phải là một xuất dữ liệu catalog đầy đủ, kết quả thanh toán, lịch sử đơn hàng, hoặc lịch sử giá tự động.

Tài liệu thương mại của TikTok phân biệt sản phẩm với SKU trong tổng quan API Sản phẩm. Sự phân biệt đó cũng là ranh giới cơ sở dữ liệu đúng cho các bản ghi trang sản phẩm bị thu thập: một sản phẩm có thể sở hữu nhiều biến thể có thể bán.

Tham số Yêu cầu

Điểm cuối là POST https://api.scrapeless.com/api/v1/scraper/request, được xác thực bằng x-api-token.

Thân yêu cầu có hai đầu vào bắt buộc:

Tham số Kiểu Mục đích
product_id chuỗi Xác định trang sản phẩm Shop
region chuỗi Chọn ngữ cảnh thị trường cho yêu cầu

Tài liệu cho thấy các ví dụ khu vực như GB, SG, JP, và US. Đừng coi tập ví dụ ngắn đó như là một thư mục thị trường đầy đủ. Xác nhận thị trường cần thiết bởi quy trình công việc sản phẩm và giữ lại khu vực được trả về trong kết quả.

Ví dụ đầu vào và đầu ra đầy đủ có trong tài liệu diễn viên trang TikTok Shop.

Điều kiện tiên quyết

  • Một tài khoản Scrapeless và token API từ Bảng điều khiển Scrapeless
  • Một ID sản phẩm TikTok Shop công khai đã biết
  • Khu vực thị trường cần thiết cho nhiệm vụ nghiên cứu
  • Một sơ đồ lưu trữ có thể giữ các ảnh chụp sản phẩm và SKU riêng biệt

Mã yêu cầu một token hoạt động trong SCRAPELESS_API_KEY và một ID sản phẩm thực trong TIKTOK_SHOP_PRODUCT_ID.

Chụp nhanh với curl

bash Copy
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.shop.page\",\"input\":{\"product_id\":\"${TIKTOK_SHOP_PRODUCT_ID}\",\"region\":\"GB\"}}"

Phản hồi là JSON. Loại application/json đã đăng ký được duy trì trong đăng ký loại phương tiện của IANA, vì vậy các khách hàng HTTP tiêu chuẩn có thể phân tích thân yêu cầu mà không cần bộ giải mã cụ thể cho trang web.

Chuẩn hóa Dữ liệu Sản phẩm và SKU trong Python

Bộ chuẩn hóa bên dưới bảo tồn phản hồi thô, tạo một bản ghi sản phẩm và phát ra một hàng cho mỗi SKU. Nó cố ý tránh giả định rằng mọi trường tùy chọn đều tồn tại.

python Copy
import json
import os
from datetime import datetime, timezone
from urllib.request import Request, urlopen

ENDPOINT = "https://api.scrapeless.com/api/v1/scraper/request"


def fetch_product(product_id, region):
    payload = {
        "actor": "scraper.tiktok.shop.page",
        "input": {"product_id": str(product_id), "region": region},
    }
    request = Request(
        ENDPOINT,
        data=json.dumps(payload).encode(),
        headers={
            "x-api-token": os.environ["SCRAPELESS_API_KEY"],
            "content-type": "application/json",
        },
        method="POST",
    )
    with urlopen(request, timeout=60) as response:
        return json.load(response)


def normalize(raw):
    observed_at = datetime.now(timezone.utc).isoformat()
    product_id = str(raw.get("product_id", ""))
    product = {
        "observed_at": observed_at,
        "product_id": product_id,
        "region": raw.get("region"),
        "name": raw.get("name"),
        "seller": raw.get("seller"),
        "price": raw.get("price"),
        "currency": raw.get("currency"),
        "stock": raw.get("stock"),
        "sold_count": raw.get("sold_count"),
        "rating": raw.get("rating"),
        "review_count": raw.get("review_count"),
    }
    sku_rows = []
    for sku in raw.get("skus") or []:
        sku_rows.append({
            "observed_at": observed_at,
            "product_id": product_id,
            "region": raw.get("region"),
            "sku_id": str(sku.get("sku_id") or sku.get("id") or ""),
            "options": sku.get("options"),
            "availability": sku.get("availability"),
            "price": sku.get("price"),
            "currency": sku.get("currency") or raw.get("currency"),
        })
    return product, sku_rows


raw_product = fetch_product(os.environ["TIKTOK_SHOP_PRODUCT_ID"], "GB")
product_row, sku_rows = normalize(raw_product)
print(json.dumps({"product": product_row, "skus": sku_rows}, indent=2))

Bắt đầu thu thập dữ liệu với Scrapeless

Tăng cường quy trình thu thập dữ liệu và tự động hóa của bạn với Scrapeless!
Đăng ký hôm nay và nhận $5 tín dụng miễn phíkhông cần thẻ tín dụng.

Nhận tín dụng miễn phí của bạn ngay bây giờ tại Bảng điều khiển Scrapeless.

Cách Đọc Các Trường Sản phẩm

Danh tính và người bán

Lưu product_id dưới dạng một chuỗi. Giữ đối tượng người bán hoặc định danh người bán với ảnh chụp sản phẩm, vì chỉ một tên có thể không phải là một khóa nối bền vững.

Giá cả và tiền tệ

Một mức giá mà không có tiền tệ và khu vực là chưa đầy đủ. Bảo tồn giá trị chính xác như đã trả về, sau đó chuẩn hóa đại diện số của nó chỉ trong một trường riêng biệt. Tài liệu tham khảo mã tiền tệ ISO giải thích tại sao các ký hiệu tiền tệ phải nằm bên cạnh giá trị tiền tệ.

Tồn kho và tính khả dụng

Tồn kho cấp sản phẩm là một cái nhìn tổng hợp. Tính khả dụng SKU mô tả một tổ hợp tùy chọn cụ thể. Tài liệu tồn kho của TikTok Shop cũng xác định sản phẩm và SKU là các chiều tồn kho riêng biệt. Bảo vệ cả hai cấp độ và tránh thay thế một trường SKU thiếu bằng tổng hợp sản phẩm.

Số lượng bán, đánh giá và bình luận

Giữ sold_count, đánh giá, và số lượng bình luận như các nhãn quan sát. Số lượng bán trên trang sản phẩm không thiết lập một khoảng thời gian báo cáo và không tiết lộ sổ cái đơn hàng. Đánh giá và số lượng bình luận mô tả phản hồi hiện tại của trang, không phải văn bản của từng bình luận riêng lẻ.

Tùy chọn và SKU

Các tùy chọn mô tả các chiều như màu sắc hoặc kích thước; các bản ghi SKU thể hiện các tổ hợp cụ thể khi trang tiết lộ chúng. Lưu cấu trúc tùy chọn thô bên cạnh một nhãn đã chuẩn hóa để một tùy chọn mới không làm hỏng các hàng cũ.

Xây Dựng Một Lược Đồ Sẵn Sàng Chụp Ảnh

Một mô hình thực tế sử dụng ba cửa hàng:

Cửa hàng Trường khóa Lý do
Phản hồi thô ID bộ sưu tập, thời gian quan sát, ID sản phẩm, khu vực Hỗ trợ xử lý lại sau này
Ảnh chụp sản phẩm thời gian quan sát, ID sản phẩm, khu vực, giá, tiền tệ, tồn kho Hỗ trợ so sánh cấp độ sản phẩm
Ảnh chụp SKU thời gian quan sát, ID sản phẩm, ID SKU, tùy chọn, tính khả dụng Hỗ trợ so sánh cấp độ biến thể

Thiếu và số không là khác nhau. Tồn kho bằng không là một giá trị; tồn kho thiếu là không biết. Giữ sự khác biệt đó trong cơ sở dữ liệu, công việc phân tích, và quy tắc cảnh báo.

Scrapeless cung cấp diễn viên này thông qua Scraping API. Sử dụng trang định giá hiện tại khi kích thước một tập hợp sản phẩm và quy tắc bộ sưu tập.

Các Vấn Đề Thường Gặp Cần Ngăn Ngừa

  • Gửi một ID sản phẩm số. Giữ các định danh dưới dạng chuỗi thông qua cấu hình, yêu cầu, và lưu trữ.
  • Bỏ khu vực sau yêu cầu. Khu vực là một phần của quan sát và thuộc về mỗi hàng được chuẩn hóa.
  • Giả định mỗi sản phẩm đều có SKU. Sử dụng danh sách trống khi không có mảng SKU hiện có.
  • Biến sự khả dụng thiếu thành số không. Bảo tồn null hoặc sự vắng mặt cho đến khi nguồn cung cấp trạng thái chắc chắn.
  • Gọi số lượng bán là doanh thu. Trường này không phải là sổ cái giá nhân số đơn hàng và không nên được sử dụng như GMV.

Kết Luận: Bảo Tồn Cấu Trúc Sản Phẩm

Một trình thu thập dữ liệu TikTok Shop đáng tin cậy bắt đầu với một ID sản phẩm và khu vực đã biết, sau đó giữ dữ liệu sản phẩm và SKU ở các cấp tự nhiên của chúng. Cấu trúc đó làm cho việc nghiên cứu một lần trở nên hữu ích ngay bây giờ và để lại không gian cho sự so sánh có dấu thời gian sau này.

Sẵn Sàng Xây Dựng Tập Dữ Liệu TikTok Shop của Bạn?

Thảo luận về các lược đồ trong Scrapeless Discord hoặc cộng đồng Telegram. Mở Scrapeless Dashboard khi danh sách sản phẩm và quy tắc khu vực của bạn đã sẵn sàng.

Câu Hỏi Thường Gặp

Hỏi: Một trình thu thập dữ liệu TikTok Shop thu thập những gì?

Diễn viên được đề cập ở đây thu thập sản phẩm, người bán, giá cả, tiền tệ, tồn kho, đánh giá, số lượng bình luận, hình ảnh, tùy chọn, SKU, danh mục, và các trường giao hàng của một trang sản phẩm công khai đã biết khi có sẵn.

Hỏi: Làm thế nào để tôi thu thập dữ liệu sản phẩm TikTok Shop bằng Python?

Gửi một yêu cầu JSON POST tới Scrapeless Scraper API với diễn viên scraper.tiktok.shop.page, cộng với product_idregion trong đối tượng đầu vào.

Hỏi: Diễn viên có thể phát hiện mọi sản phẩm trong một cửa hàng không?

Không. Diễn viên trang sản phẩm này mong đợi một ID sản phẩm đã biết; nó không nên được mô tả như một API phát hiện danh mục hoàn chỉnh.

Hỏi: Phản hồi có bao gồm các biến thể sản phẩm không?

Nó có thể bao gồm các tùy chọn và bản ghi SKU với tính khả dụng. Giữ những bản ghi đó tách biệt khỏi các trường cấp sản phẩm.

Hỏi: Diễn viên có theo dõi giá cả tự động không?

Không. Nó trả về một ảnh chụp. Ứng dụng của bạn lên lịch gọi, lưu trữ dấu thời gian, so sánh các ảnh chụp, và gửi bất kỳ cảnh báo nào.

Hỏi: Việc thu thập dữ liệu TikTok Shop có hợp pháp không?

Tính hợp pháp phụ thuộc vào thị trường, mục đích, dữ liệu, phương pháp truy cập, và các điều khoản áp dụng. Thu thập dữ liệu sản phẩm công khai cho một mục đích cho phép và xác nhận nghĩa vụ cho các khu vực trong phạm vi.
Q: Tôi có cần quản lý một proxy hoặc bộ phân tích bảo vệ trang không?

Diễn viên được quản lý xử lý bề mặt thu thập. Mã của bạn cung cấp ngữ cảnh sản phẩm hợp lệ và xử lý phản hồi có cấu trúc.

Q: Điều này có thể chạy mà không cần tác nhân AI không?

Có. Ví dụ này sử dụng các yêu cầu HTTP bình thường và không phụ thuộc vào một tác nhân.

Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến ​​cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.

Bài viết phổ biến nhất

Danh mục