Quay lại blog

Theo dõi sự tăng trưởng người theo dõi TikTok với các bức ảnh hồ sơ

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

03-Sep-2026

TL;DR:

  • Theo dõi sự tăng trưởng người theo dõi trên TikTok bắt đầu khi thu thập dữ liệu bắt đầu. Diễn viên hồ sơ trả về số lượng công khai hiện tại, không phải chuỗi lịch sử.
  • Mỗi quan sát cần có trạng thái thu thập. Một lần thu thập không thành công và số lượng người theo dõi không thay đổi là hai kết quả khác nhau.
  • Danh tính tài khoản nên tồn tại sau khi thay đổi tên gọi. Lưu account_id, sec_uid, và unique_id quan sát cùng nhau.
  • Tăng trưởng là sự khác biệt giữa các bức ảnh so sánh. Trừ đi các số liệu hợp lệ liên tiếp cho cùng một tài khoản và giữ cả hai dấu thời gian.
  • Sự tăng trưởng người theo dõi không xác định nguyên nhân của nó. Một sự thay đổi không thể được quy cho một video hoặc chiến dịch mà không có chứng cứ riêng biệt.
  • 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: số lượng hồ sơ trở nên hữu ích sau quan sát thứ hai

Số lượng người theo dõi công khai là một bức ảnh. Nó trở thành một bản ghi tăng trưởng chỉ sau khi cùng một tài khoản được thu thập lại và hai quan sát hợp lệ được so sánh.

Hướng dẫn này xây dựng một quy trình theo dõi sự tăng trưởng người theo dõi TikTok nhỏ với diễn viên hồ sơ Scrapeless, Python và SQLite. Nó bảo tồn các định danh tài khoản, lưu trạng thái thu thập thành công và không thành công một cách riêng biệt, tính toán sự thay đổi từ các bức ảnh hợp lệ liên tiếp, và tạo ra các hàng cho bảng điều khiển sự tăng trưởng của người sáng tạo.

Các trường hồ sơ và các khóa danh tính cơ bản được đề cập trong hướng dẫn thu thập hồ sơ TikTok.

Quy trình tóm tắt

Giai đoạn Hành động Đầu ra bền vững
Định nghĩa Cung cấp các tài khoản để theo dõi Danh sách tài khoản
Thu thập Yêu cầu từng hồ sơ công khai hiện tại Dữ liệu JSON thô hoặc bản ghi lỗi
Chuẩn hóa Trích xuất danh tính và thông số thống kê Hàng bức ảnh hồ sơ
So sánh Kết hợp các bức ảnh hợp lệ liên tiếp Hàng thay đổi người theo dõi
Báo cáo Vẽ mức và sự thay đổi Đầu vào bảng điều khiển tăng trưởng

Quy trình tạo lịch sử từ ngày bắt đầu thu thập. Nó không tái tạo số lượng người theo dõi từ các ngày trước khi quan sát được lưu trữ đầu tiên.

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

  • Một tài khoản Scrapeless và mã thông báo API từ Bảng điều khiển Scrapeless
  • Một danh sách người dùng TikTok công khai được người dùng duy trì
  • Một lịch thu thập thích hợp cho nhu cầu báo cáo
  • Một mã thông báo hoạt động trong SCRAPELESS_API_KEY cho khối API bên dưới

Ví dụ hoàn chỉnh có một khoảng cách điều kiện tiên quyết vì người đọc phải cung cấp một chứng chỉ hoạt động và danh sách tài khoản. Bài viết không nhúng chứng chỉ hoặc trình bày các phản hồi hồ sơ giả tạo.

Giai đoạn 1: Định nghĩa danh sách tài khoản

Một danh sách nên chứa một khóa nội bộ ổn định, tên người dùng hiện tại, lý do kinh doanh để theo dõi nó, và liệu bản ghi có còn hoạt động hay không. Tên người dùng là các đầu vào yêu cầu tiện lợi, nhưng chúng không nên trở thành khóa duy nhất trong cơ sở dữ liệu.

Diễn viên scraper.tiktok.user.detail chấp nhận unique_id mà không có @ dẫn đầu. Phản hồi của nó có thể bao gồm account_id, unique_id, sec_uid, các trường hồ sơ công khai, cờ tài khoản, và một đối tượng statistics chứa số lượng người theo dõi, người theo dõi, bạn bè, like, video, và video được thích.

Giữ các ID tài khoản có hình dạng số dưới dạng chuỗi. Bảo tồn cả ba định danh để một thay đổi tên sau này không vô tình tạo ra một chuỗi lịch sử mới.

Giai đoạn 2: Nắm bắt bức ảnh hồ sơ có dấu thời gian

Mỗi nỗ lực thu thập cần một dấu thời gian ứng dụng và một trạng thái. Một hàng thành công lưu các định danh và thống kê được trả về. Một nỗ lực không thành công lưu khóa tài khoản, thời gian thử nghiệm, và một trạng thái lỗi ngắn gọn mà không sao chép các số lượng thiếu như bằng không.

Tài liệu datetime của Python mô tả dấu thời gian nhận thức về múi giờ. Sử dụng một tiêu chuẩn múi giờ trong lưu trữ và chỉ áp dụng múi giờ hiển thị trong lớp báo cáo.

Tài liệu thông tin chính thức về người dùng TikTok cũng coi các trường người dùng là phản hồi hiện tại hơn là nguồn cấp lịch sử tài khoản. Do đó, quy trình Scrapeless xây dựng lịch sử quan sát riêng của nó.

Bắt đầu thu thập 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ý ngay 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ờ trong Bảng điều khiển Scrapeless.

Giai đoạn 3: Lưu thành công và khoảng trống thu thập một cách riêng biệt

SQLite hỗ trợ một bảng ảnh chụp chỉ thêm nhỏ gọn. Tài liệu ràng buộc bảng SQLite giải thích khóa tổng hợp được sử dụng để ngăn chặn các quan sát trùng lặp.

Chú ý: Mã dưới đây yêu cầu một mã thông báo API Scrapeless hoạt động trong SCRAPELESS_API_KEY và tên người dùng công khai được phân tách bằng dấu phẩy trong TIKTOK_USERNAMES.

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

ENDPOINT = "https://api.scrapeless.com/api/v1/scraper/request"
TOKEN = os.environ["SCRAPELESS_API_KEY"]
USERNAMES = [v.strip().lstrip("@") for v in os.environ["TIKTOK_USERNAMES"].split(",") if v.strip()]


def get_profile(username):
    body = json.dumps({
        "actor": "scraper.tiktok.user.detail",
        "input": {"unique_id": username},
    }).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)


database = sqlite3.connect("tiktok-profile-history.sqlite3")
database.execute("""
CREATE TABLE IF NOT EXISTS profile_snapshots (
    roster_username TEXT NOT NULL,
    collected_at TEXT NOT NULL,
    collection_status TEXT NOT NULL,
    account_id TEXT,
    unique_id TEXT,
    sec_uid TEXT,
    followers INTEGER,
    following INTEGER,
    likes INTEGER,
    videos INTEGER,
    error_code TEXT,
    raw_json TEXT,
    PRIMARY KEY (roster_username, collected_at)
)
""")

for username in USERNAMES:
    collected_at = datetime.now(timezone.utc).isoformat()
    try:
        profile = get_profile(username)
        statistics = profile.get("statistics") or {}
        database.execute(
            "INSERT INTO profile_snapshots VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
            (
                username, collected_at, "success",
                str(profile.get("account_id") or ""), profile.get("unique_id"),
                profile.get("sec_uid"), statistics.get("followers"),
                statistics.get("following"), statistics.get("likes"),
                statistics.get("videos"), None,
                json.dumps(profile, ensure_ascii=False),
            ),
        )
    except HTTPError as error:
        database.execute(
            "INSERT INTO profile_snapshots VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
            (username, collected_at, "failed", None, None, None, None, None, None, None,
             str(error.code), None),
        )

database.commit()
database.close()

Cột collection_status giữ cho một khoảng trống nhìn thấy được. Nó ngăn chặn một truy vấn báo cáo xử lý một quan sát không khả dụng như không có sự thay đổi nào về người theo dõi.

Giai đoạn 4: Tính toán Tăng trưởng Từ Các Ảnh Chụp Hợp Lệ Liên Tiếp

Tăng trưởng người theo dõi là số lượng hợp lệ sau trừ đi số lượng hợp lệ trước đó cho cùng một account_id. Giữ lại thời gian bắt đầu và kết thúc, cả hai số lượng nguồn, sự khác biệt và thời gian đã trôi qua.

Sử dụng danh tính tài khoản trước tên người dùng khi tham gia. Nếu một tên người dùng được quan sát thay đổi trong khi account_id vẫn ổn định, hãy giữ một chuỗi và duy trì tài khoản được ghi lại trong mỗi ảnh chụp. Nếu các trường danh tính bị xung đột, hãy dừng việc tham gia và gửi hàng để xem xét.

Các hàm cửa sổ SQL có thể ghép cặp các hàng thành công mà không ghi đè lên các quan sát gốc:

sql Copy
SELECT
  account_id,
  unique_id,
  collected_at,
  followers,
  followers - LAG(followers) OVER (
    PARTITION BY account_id ORDER BY collected_at
  ) AS follower_change
FROM profile_snapshots
WHERE collection_status = 'success' AND followers IS NOT NULL;

Kết quả đo sự thay đổi giữa các quan sát đã lưu trữ. Nó không phải là tỷ lệ tăng trưởng hàng ngày trừ khi các quan sát được tách ra bằng khoảng thời gian chính xác mà báo cáo gán nhãn.

Giai đoạn 5: Xây dựng Bảng Điều Khiển Tăng Trưởng Người Tạo

Một bảng điều khiển hữu ích cho thấy chất lượng dữ liệu bên cạnh tăng trưởng:

  • Số lượng người theo dõi hợp lệ mới nhất và thời gian thu thập của nó
  • Sự thay đổi kể từ ảnh chụp hợp lệ trước đó
  • Sự thay đổi trong một khoảng thời gian báo cáo được gán nhãn rõ ràng
  • Số lượng quan sát thành công và khoảng trống thu thập
  • Tên người dùng quan sát hiện tại cộng với ID tài khoản ổn định
  • Ngày quan sát đầu tiên được lưu trữ, xác định ranh giới lịch sử

Vẽ mức người theo dõi và sự thay đổi người theo dõi một cách riêng biệt. Biểu đồ mức cho thấy chuỗi tích lũy; biểu đồ thay đổi giúp khoảng trống thu thập và sự khác biệt đột ngột dễ dàng được xem xét.

Xử lý Dữ liệu Hồ Sơ Một Cách Có Trách Nhiệm

Thông tin thống kê hồ sơ công khai vẫn có thể là dữ liệu cá nhân. Giới hạn danh sách tài khoản cho mục đích đã nêu, hạn chế quyền truy cập phản hồi thô, và xác định khi nào các ảnh chụp cũ nên được loại bỏ. Khung Bảo mật NIST cung cấp một cấu trúc để xác định và quản lý rủi ro thu thập.

Đừng suy luận về nhân khẩu học khán giả, danh tính người theo dõi, hoặc nguyên nhân của sự tăng trưởng từ phản hồi hồ sơ. Một sự thay đổi về số lượng có thể trùng với một chiến dịch hoặc bài đăng, nhưng sự trùng hợp không phải là gán nhãn.

Scrapeless tiết lộ diễn viên hồ sơ thông qua Scraping API. Kiểm tra trang giá hiện tại trước khi đặt số lượng tài khoản và lịch trình.

Kết luận: lịch sử bắt đầu với một đường cơ sở được ghi lại

Theo dõi tăng trưởng người theo dõi trên TikTok cần một danh tính tài khoản ổn định, số lượng hợp lệ có thời gian ghi lại và khoảng trống thu thập rõ ràng. Khi đường cơ sở tồn tại, các ảnh chụp liên tiếp có thể hỗ trợ một đường cong tăng trưởng mà không yêu cầu lịch sử nền tảng không khả dụng hay gán sự thay đổi cho một nội dung nào.

Sẵn sàng xây dựng một Công cụ Theo dõi Thống kê Hồ sơ?

Tham gia Scrapeless Discord hoặc cộng đồng Telegram để so sánh sơ đồ ảnh chụp. Tạo một tài khoản trong Bảng điều khiển Scrapeless khi danh sách tài khoản đã sẵn sàng.

Câu hỏi Thường gặp

Q: Một công cụ theo dõi người theo dõi TikTok có thể phục hồi các số lượng lịch sử không?

Quy trình làm việc không thể phục hồi các số lượng từ trước khi việc thu thập bắt đầu. Quan sát thành công đầu tiên của nó trở thành đường cơ sở cho các so sánh sau này.

Q: Sự khác biệt giữa không có tăng trưởng và thất bại thu thập là gì?

Không có tăng trưởng có nghĩa là hai ảnh chụp hợp lệ chứa cùng một số lượng người theo dõi. Một thất bại thu thập có nghĩa là số lượng sau không rõ và không nên tính toán sự khác biệt.

Q: Sự tăng trưởng người theo dõi có thể được gán cho một video TikTok không?

Sự tăng trưởng người theo dõi không thể được gán cho một video từ các ảnh chụp hồ sơ một mình. Sự gán nhãn cần có một thí nghiệm riêng biệt hoặc bằng chứng chiến dịch của bên thứ nhất.

Q: Quy trình có tiết lộ danh tính hoặc nhân khẩu học của người theo dõi không?

Diễn viên hồ sơ trả về thống kê tài khoản công khai, không phải danh sách người theo dõi hoặc nhân khẩu học khán giả.

Q: Tôi có cần quản lý một proxy hoặc trình phân tích trang hồ sơ không?

Diễn viên xử lý bề mặt thu thập của nó ẩn sau yêu cầu API. Người gọi quản lý danh sách, lịch trình, lưu trữ, so sánh và báo cáo.

Q: Việc thu thập số lượng người theo dõi công khai có hợp pháp không?
Tính hợp pháp phụ thuộc vào quyền tài phán, mục đích, phương thức truy cập, dữ liệu và các điều khoản áp dụng. Giảm thiểu việc thu thập, ghi lại mục đích, và nhận tư vấn pháp lý cho việc sử dụng cụ thể.

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