टिकटोक अनुयायी वृद्धि का ट्रैक करें प्रोफ़ाइल स्नैपशॉट के साथ
Advanced Data Extraction Specialist
TL;DR:
- TikTok अनुयायी वृद्धि ट्रैकिंग तब शुरू होती है जब संग्रह शुरू होता है। प्रोफ़ाइल अभिनेता एक वर्तमान सार्वजनिक संख्या लौटाता है, न कि ऐतिहासिक श्रृंखला।
- हर अवलोकन के लिए एक संग्रहण स्थिति की आवश्यकता होती है। विफल संग्रह और अपरिवर्तित अनुयायी संख्या विभिन्न परिणाम हैं।
- खाते की पहचान हैंडल परिवर्तन के बावजूद जीवित रहनी चाहिए।
account_id,sec_uid, और अवलोकितunique_idको एक साथ संग्रहित करें। - वृद्धि तुलनीय स्नैपशॉट के बीच का अंतर है। एक ही खाते के लिए लगातार मान्य गणनाओं को घटाएं और दोनों टाइमस्टैम्प रखें।
- अनुयायी वृद्धि इसके कारण की पहचान नहीं करती है। एक परिवर्तन को बिना अलग सबूत के एक वीडियो या अभियान से आरोपित नहीं किया जा सकता।
- शुरू करने के लिए मुफ्त। नए Scrapeless खातों में Scrapeless डैशबोर्ड के माध्यम से मुफ्त क्रेडिट शामिल है।
Introduction: एक प्रोफ़ाइल संख्या दूसरे अवलोकन के बाद उपयोगी हो जाती है
एक सार्वजनिक अनुयायी संख्या एक स्नैपशॉट है। यह केवल तभी वृद्धि रिकॉर्ड बनती है जब उसी खाते को फिर से संग्रहित किया जाता है और दो मान्य अवलोकनों की तुलना की जाती है।
यह ट्यूटोरियल Scrapeless प्रोफ़ाइल अभिनेता, Python, और SQLite के साथ एक छोटा TikTok अनुयायी वृद्धि ट्रैकिंग पाइपलाइन बनाता है। यह खाता पहचानकर्ताओं को संरक्षित करता है, सफल और विफल संग्रहण स्थिति को अलग-अलग सहेजता है, लगातार मान्य स्नैपशॉट से परिवर्तनों की गणना करता है, और एक निर्माता वृद्धि डैशबोर्ड के लिए पंक्तियाँ तैयार करता है।
नीचे के प्रोफ़ाइल फ़ील्ड और पहचान कुंजियाँ TikTok प्रोफ़ाइल स्क्रैपर ट्यूटोरियल में कवर की गई हैं।
Pipeline at a Glance
| चरण | क्रिया | स्थायी आउटपुट |
|---|---|---|
| परिभाषित करें | ट्रैक करने के लिए खातों की आपूर्ति करें | खाता सूची |
| संग्रहित करें | प्रत्येक वर्तमान सार्वजनिक प्रोफ़ाइल का अनुरोध करें | कच्चा JSON या त्रुटि रिकॉर्ड |
| सामान्य करें | पहचान और आँकड़े निकालें | प्रोफ़ाइल स्नैपशॉट पंक्ति |
| तुलना करें | लगातार सफल स्नैपशॉट को जोड़ें | अनुयायी-परिवर्तन पंक्ति |
| रिपोर्ट करें | स्तरों और परिवर्तनों को प्लॉट करें | वृद्धि डैशबोर्ड इनपुट |
पाइपलाइन उस दिन से इतिहास बनाती है जब यह संग्रह करना शुरू करती है। यह पहले संग्रहित अवलोकन से पूर्व की तारीखों से अनुयायी संख्याओं को पुनर्निर्मित नहीं करती है।
Prerequisites
- Scrapeless डैशबोर्ड से एक Scrapeless खाता और API टोकन
- सार्वजनिक TikTok उपयोगकर्ता नामों की एक उपयोगकर्ता द्वारा बनाए रखी गई सूची
- रिपोर्टिंग आवश्यकता के लिए उपयुक्त संग्रहण शेड्यूल
- नीचे दिए गए API ब्लॉक के लिए
SCRAPELESS_API_KEYमें एक लाइव टोकन
पूर्ण उदाहरण में एक पूर्वापेक्षा का अंतर है क्योंकि पाठक को एक लाइव क्रेडेंशियल और खाता सूची प्रदान करनी होगी। लेख क्रेडेंशियल शामिल नहीं करता या फर्जी प्रोफ़ाइल प्रतिक्रियाएँ प्रस्तुत नहीं करता है।
Stage 1: Define the Account Roster
एक सूची में एक स्थिर आंतरिक कुंजी, वर्तमान उपयोगकर्ता नाम, इसे ट्रैक करने का व्यावसायिक कारण, और क्या रिकॉर्ड सक्रिय है, होना चाहिए। उपयोगकर्ता नाम सुविधाजनक अनुरोध इनपुट हैं, लेकिन इन्हें केवल डेटाबेस कुंजी नहीं बनना चाहिए।
scraper.tiktok.user.detail अभिनेता unique_id को @ के बिना स्वीकार करता है। इसका उत्तर account_id, unique_id, sec_uid, सार्वजनिक प्रोफ़ाइल फ़ील्ड, खाता ध्वज, और एक statistics ऑब्जेक्ट जिसमें अनुयायी, अनुसरण, मित्र, पसंद, वीडियो, और पसंद किए गए वीडियो की गणनाएँ शामिल हो सकती हैं।
संख्यात्मक रूप में दिखने वाले खाता ID को पंक्तियों के रूप में रखें। सभी तीन पहचानकर्ताओं को संरक्षित करें ताकि बाद में हैंडल परिवर्तन चुपचाप एक नई इतिहास श्रृंखला न बनाए।
Stage 2: Capture a Timestamped Profile Snapshot
हर संग्रहण प्रयास को एक एप्लिकेशन टाइमस्टैम्प और एक स्थिति की आवश्यकता होती है। एक सफल पंक्ति लौटाए गए पहचानकर्ताओं और आँकड़ों को संग्रहित करती है। एक विफल प्रयास खाता कुंजी, प्रयास का समय, और लापता गणनाओं को शून्य के रूप में कॉपी किए बिना एक संक्षिप्त त्रुटि स्थिति संग्रहीत करता है।
Python का datetime दस्तावेज़ीकरण समय क्षेत्र-सचेत टाइमस्टैम्प का वर्णन करता है। संग्रहण में एक समय क्षेत्र मानक का उपयोग करें और रिपोर्टिंग परत में केवल प्रदर्शन समय क्षेत्रों को लागू करें।
TikTok का आधिकारिक उपयोगकर्ता जानकारी दस्तावेज़ीकरण भी उपयोगकर्ता फ़ील्ड को एक वर्तमान प्रतिक्रिया के रूप में मानता है न कि खाता-इतिहास फीड के रूप में। इसलिए Scrapeless पाइपलाइन अपना अवलोकन इतिहास बनाती है।
Scrapeless के साथ स्क्रैपिंग शुरू करें
Scrapeless के साथ अपनी वेब स्क्रैपिंग और स्वचालन कार्यप्रवाह को पावर अप करें!
आज साइन अप करें और $5 का मुफ्त क्रेडिट प्राप्त करें — क्रेडिट कार्ड की आवश्यकता नहीं।अपने मुफ्त क्रेडिट को अभी Scrapeless डैशबोर्ड में प्राप्त करें।
Stage 3: Store Success and Collection Gaps Separately
SQLite एक संक्षिप्त अपेंड-केवल स्नैपशॉट तालिका का समर्थन करता है। SQLite तालिका-प्रतिबंध दस्तावेज़ में पहले की गई अवलोकनों की पुनरावृत्ति को रोकने के लिए उपयोग किए जाने वाले समवर्ती चाबी की व्याख्या की गई है।
नोट: नीचे दिया गया कोड
SCRAPELESS_API_KEYमें एक लाइव Scrapeless API टोकन औरTIKTOK_USERNAMESमें कॉमा से विभाजित सार्वजनिक उपयोगकर्ता नामों की आवश्यकता है।
python
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()
collection_status कॉलम एक अंतराल को दृश्य रखता है। यह रिपोर्टिंग क्वेरी को एक अनुपलब्ध अवलोकन को फॉलोअर परिवर्तन के रूप में मानने से रोकता है।
चरण 4: सतत मान्य स्नैपशॉट से वृद्धि की गणना करें
फॉलोअर वृद्धि बाद में मान्य संख्या माइनस पहले की मान्य संख्या है उसी account_id के लिए। शुरुआत और अंत के टाइमस्टैम्प, दोनों स्रोत की गिनती, अंतर, और बीता हुआ समय रखें।
जोड़ने पर उपयोगकर्ता नाम से पहले खाता पहचान का उपयोग करें। यदि अवलोकित उपयोगकर्ता नाम बदलता है जबकि account_id स्थिर रहता है, तो एक श्रृंखला रखें और प्रत्येक स्नैपशॉट पर दर्ज हैंडल को बनाए रखें। यदि पहचान के क्षेत्र आपस में टकराते हैं, तो जोड़ना बंद करें और समीक्षा के लिए पंक्ति भेजें।
SQL विंडो कार्य सफल पंक्तियों को मूल अवलोकनों को बिना ओवरराइट किए जोड़ सकते हैं:
sql
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;
परिणाम संग्रहीत अवलोकनों के बीच परिवर्तन को मापता है। यह दैनिक वृद्धि दर नहीं है जब तक कि अवलोकन रिपोर्ट में लेबल किए गए सटीक अंतराल के द्वारा अलग न किए जाएं।
चरण 5: निर्माता वृद्धि डैशबोर्ड बनाएं
एक उपयोगी डैशबोर्ड वृद्धि के बगल में डेटा गुणवत्ता दिखाता है:
- नवीनतम मान्य फॉलोअर गिनती और इसका संग्रहण समय
- पिछले मान्य स्नैपशॉट के बाद का परिवर्तन
- स्पष्ट रूप से लेबल किए गए रिपोर्टिंग अंतराल में परिवर्तन
- सफल अवलोकनों और संग्रहण अंतराल की संख्या
- वर्तमान अवलोकित उपयोगकर्ता नाम और स्थिर खाता आईडी
- पहले संग्रहीत अवलोकन की तारीख, जो इतिहास की सीमा को परिभाषित करती है
फॉलोअर स्तर और फॉलोअर परिवर्तन को अलग से प्लॉट करें। एक स्तर का चार्ट संचयित श्रृंखला दिखाता है; एक परिवर्तन चार्ट संग्रहण अंतराल और अचानक परिवर्तनों की समीक्षा करना आसान बनाता है।
प्रोफ़ाइल डेटा को जिम्मेदारी से संभालें
सार्वजनिक प्रोफ़ाइल सांख्यिकी अभी भी व्यक्तिगत डेटा हो सकती हैं। खाता सूची को घोषित उद्देश्य तक सीमित करें, कच्चे-प्रतिक्रिया पहुँच को प्रतिबंधित करें, और परिभाषित करें कि पुराने स्नैपशॉट कब हटाए जाने चाहिए। NIST प्राइवेसी फ्रेमवर्क संग्रहण जोखिम की पहचान करने और प्रबंधन के लिए एक ढांचा प्रदान करता है।
प्रोफ़ाइल प्रतिक्रिया से ऑडियंस जनसांख्यिकी, फॉलोअर पहचान, या वृद्धि के कारण का अनुमान न लगाएं। एक गिनती में परिवर्तन किसी अभियान या पोस्ट के साथ हो सकता है, लेकिन संयोग एक विश्लेषण नहीं है।
Scrapeless प्रोफ़ाइल अभिनेता को Scraping API के माध्यम से उजागर करता है। खाता गिनती और कार्यक्रम निर्धारित करने से पहले वर्तमान मूल्य निर्धारण पृष्ठ की जाँच करें।
निष्कर्ष: इतिहास एक रिकॉर्ड की गई आधार रेखा के साथ शुरू होता है
TikTok फॉलोअर वृद्धि ट्रैकिंग को एक स्थिर खाता पहचान, टाइमस्टैम्प किए गए मान्य गिनतियों, और स्पष्ट संग्रहण अंतराल की आवश्यकता होती है। एक बार आधार रेखा मौजूद होने के बाद, लगातार स्नैपशॉट एक वृद्धि वक्र का समर्थन कर सकते हैं बिना अनुपलब्ध प्लेटफ़ॉर्म इतिहास का दावा किए या परिवर्तन को एक सामग्री के टुकड़े को सौंपते हुए।
प्रोफ़ाइल सांख्यिकी ट्रैकर बनाने के लिए तैयार?
स्नैपशॉट स्कीमाओं की तुलना करने के लिए Scrapeless Discord या Telegram समुदाय में शामिल हों। जब खाता सूची तैयार हो जाए, तो Scrapeless Dashboard में एक खाता बनाएं।
सामान्य प्रश्न
प्रश्न: क्या एक TikTok फॉलोअर ट्रैकर ऐतिहासिक गिनतियों को पुनः प्राप्त कर सकता है?
कार्यप्रणाली संग्रहण की शुरुआत से पहले की गिनतियों को पुनः प्राप्त नहीं कर सकती। इसका पहला सफल अवलोकन बाद की तुलना के लिए आधार रेखा बनता है।
प्रश्न: बिना वृद्धि और संग्रहण विफलता में क्या अंतर है?
बिना वृद्धि का अर्थ है दो मान्य स्नैपशॉट में समान फॉलोअर गिनती होती है। संग्रहण विफलता का मतलब है कि बाद की गिनती अज्ञात है और कोई अंतर नहींCalculated करना चाहिए।
प्रश्न: क्या फॉलोअर वृद्धि को एक TikTok वीडियो को जिम्मेदार ठहराया जा सकता है?
फॉलोअर वृद्धि को सिर्फ प्रोफ़ाइल स्नैपशॉट से एक वीडियो को जिम्मेदार नहीं ठहराया जा सकता। जिम्मेदारी के लिए एक अलग प्रयोग या पहले वाले अभियान के सबूत की आवश्यकता होती है।
प्रश्न: क्या कार्यप्रणाली फॉलोअर पहचान या जनसांख्यिकी को उजागर करती है?
प्रोफ़ाइल अभिनेता सार्वजनिक खाता सांख्यिकी लौटाता है, फॉलोअर सूचियाँ या ऑडियंस जनसांख्यिकी नहीं।
प्रश्न: क्या मुझे एक प्रॉक्सी या प्रोफ़ाइल-पृष्ठ पार्सर को प्रबंधित करने की आवश्यकता है?
अभिनेता अपने संग्रहण सतह को API अनुरोध के पीछे संभालता है। कॉलर सूची, कार्यक्रम, भंडारण, तुलना, और रिपोर्टिंग का प्रबंधन करता है।
प्रश्न: क्या सार्वजनिक फॉलोअर गिनतियों को इकट्ठा करना कानूनी है?
कानूनी स्थिति क्षेत्राधिकार, उद्देश्य, पहुँच विधि, डेटा, और लागू शर्तों पर निर्भर करती है। संग्रहण को न्यूनतम करें, उद्देश्य का दस्तावेजीकरण करें, और विशेष उपयोग के लिए कानूनी सलाह प्राप्त करें।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।


