वापस ब्लॉग पर

कैसे TikTok पोस्ट और वीडियो मेट्रिक्स को पाइथन के साथ स्क्रैप करें

Alex Johnson
Alex Johnson

Senior Web Scraping Engineer

02-Sep-2026

TL;DR:

  • एक TikTok वीडियो स्क्रैपर एक ज्ञात सार्वजनिक खाते के साथ शुरू होता है। उपयोगकर्ता नाम को scraper.tiktok.user.detail के साथ हल करें, फिर इसके sec_uid को scraper.tiktok.user.work पर पास करें।
  • पोस्ट प्रतिक्रिया एक सीमित नमूना है। प्रलेखित अनुरोध cursor और count स्वीकार करता है, लेकिन एक प्रतिक्रिया को निर्माता के पूर्ण पोस्ट इतिहास के रूप में नहीं वर्णित किया जाना चाहिए।
  • सार्वजनिक पोस्ट मेट्रिक्स को संदर्भ की आवश्यकता होती है। खेल, पसंद, टिप्पणी, शेयर, संग्रह, और पुनःपोस्ट गिनती के बगल में संग्रहण समय को संग्रहित करें क्योंकि उन मूल्यों में परिवर्तन हो सकता है।
  • फोटो पोस्ट और वैकल्पिक फ़ील्ड सहिष्णुता विश्लेषण की आवश्यकता होती है। एक वैध आइटम में खाली मीडिया या उपशीर्षक फ़ील्ड हो सकते हैं, और पोस्ट प्रकार को लौटाए गए रिकॉर्ड से आना चाहिए न कि किसी अनुमान से।
  • स्थिर निर्यात पहचानकर्ताओं को स्ट्रिंग के रूप में बनाए रखते हैं। कच्चे JSON को बनाए रखें और विश्लेषण के लिए एक सामान्यीकृत CSV लिखें।
  • शुरू करने में स्वतंत्र। नए Scrapeless खाते में मुफ्त क्रेडिट शामिल होता है; Scrapeless डैशबोर्ड में एक खाता बनाएं।

परिचय: एक पोस्ट सूची एक समय-सील वाला नमूना है

एक निर्माता की सार्वजनिक फ़ीड पहचानकर्ताओं, कैप्शन, मीडिया मेटाडेटा, हैशटैग, संगीत, और संचयी जुड़ाव गिनतियों को मिलाता है। उस फ़ीड को एक उपयोगी तालिका में बदलने के लिए दो API कॉल और थोड़ी मात्रा में सावधानीपूर्वक सामान्यीकरण की आवश्यकता होती है।

यह गाइड एक ज्ञात खाते के लिए TikTok वीडियो स्क्रैपर बनाता है। यह खाते का sec_uid हल करता है, सार्वजनिक पोस्ट के एक सीमित सेट का अनुरोध करता है, और प्रत्येक आइटम के लिए एक CSV पंक्ति लिखता है। कार्यप्रवाह पहले उत्तर को एक पूर्ण संग्रह के रूप में लेबल नहीं करता है, और यह सार्वजनिक प्ले गिनतियों को अद्वितीय पहुंच के रूप में नहीं मानता है।

उपलब्ध प्रोफ़ाइल, पोस्ट, और शॉप अभिनेताओं के मानचित्र के लिए, TikTok स्क्रैपर API गाइड पढ़ें।

आप एक ज्ञात खाते से क्या संग्रहित कर सकते हैं

scraper.tiktok.user.work अभिनेता एक प्रदान किए गए sec_uid के लिए एक items सरणी लौटाता है। एक पोस्ट आइटम में इसके ID और URL, विवरण, स्टिकर पाठ, निर्माण समय, सार्वजनिक जुड़ाव गणना, मीडिया विवरण, हैशटैग, भाषा, पिन और विज्ञापन ध्वज, संगीत, उपशीर्षक, अनुमतियाँ, और प्रोफ़ाइल संदर्भ शामिल हो सकते हैं।

यह आकृति कई व्यावहारिक आउटपुट का समर्थन करती है:

  • एक चयनित सार्वजनिक खाते के लिए एक पोस्ट सूची
  • विवरणों, हैशटैग, तिथियों, और पोस्ट URL की एक तालिका
  • एक समय-निर्धारित जुड़ाव स्नैपशॉट
  • पिन किए गए, प्रचारात्मक, या ईकॉमर्स से संबंधित पोस्ट के लिए एक समीक्षा कतार
  • बाद में सामग्री वर्गीकरण के लिए एक साफ इनपुट तालिका

अभिनेता टिप्पणी पाठ, ऑडियंस जनसांख्यिकी, अनुयायी सूचियों, अद्वितीय दर्शकों, रूपांतरणों, या राजस्व का मूल्यांकन करने के लिए कोई दस्तावेज़ नहीं करता है। उन फ़ील्डों को सामान्यीकृत आउटपुट में अनुमानित विकल्पों के रूप में नहीं दिखाया जाना चाहिए।

TikTok स्क्रैपर API का उपयोग क्यों करें

एक प्रबंधित अभिनेता एक स्थिर HTTP अनुरोध से संरचित JSON लौटाता है। कॉलर नामित फ़ील्ड के साथ काम करता है बजाय इसके कि वह एक प्रस्तुत पृष्ठ के लिए चयनकर्ताओं को बनाए रखे, मीडिया-विशिष्ट लेआउट को संभाले, या हर दृश्य परिवर्तन को पार्सर अपडेट में अनुवाद करे।

अनुरोध को अभी भी एक स्पष्ट दायरा की आवश्यकता होती है। एक TikTok पोस्ट स्क्रैपर को उपयोगकर्ता द्वारा चयनित एक खाते के साथ शुरू होना चाहिए, यह रिकॉर्ड करना चाहिए कि नमूना कब संग्रहित किया गया था, और प्रत्येक पंक्ति का ऑडिट करने के लिए पर्याप्त स्रोत संदर्भ बनाए रखे। HTTP विनिमय RFC 9110 द्वारा परिभाषित अर्थशास्त्र का पालन करता है, जबकि पायथन का JSON दस्तावेज़ीकरण नीचे उपयोग की जाने वाली सीरियलाइजेशन का वर्णन करता है।

पूर्वापेक्षाएँ

  • Scrapeless डैशबोर्ड से एक Scrapeless खाता और API टोकन
  • अपने मानक पुस्तकालय के साथ Python 3
  • जांचने के लिए खाते का सार्वजनिक उपयोगकर्ता नाम
  • एक अनुमत उद्देश्य, एक परिभाषित नमूना आकार, और एक बनाए रखने की नीति
  • नीचे दिए गए कोड ब्लॉकों के लिए एक लाइव API टोकन; इसे SCRAPELESS_API_KEY के रूप में निर्यात करें

उदाहरणों को एक पूर्वापेक्षा अंतर के रूप में चिह्नित किया गया है क्योंकि इस लेख में कोई API टोकन अंतर्निहित नहीं है। वे पूर्ण अनुरोध पथ हैं, लेकिन पाठकों को अपने स्वयं के प्रमाणपत्र और लक्षित उपयोगकर्ता नाम प्रस्तुत करना होगा।

TikTok पोस्ट स्क्रैपर कैसे काम करता है

कार्यप्रवाह एक समाप्ति बिंदु और दो अभिनेताओं का उपयोग करता है:

POST https://api.scrapeless.com/api/v1/scraper/request

  1. unique_id को scraper.tiktok.user.detail पर भेजें।
  2. प्रोफ़ाइल प्रतिक्रिया से sec_uid पढ़ें।
  3. उस मान को bounded count के साथ scraper.tiktok.user.work पर भेजें।
  4. लौटाए गए items को सामान्यीकृत करें बिना गायब फ़ील्डों का आविष्कार किए।

TikTok का आधिकारिक डेवलपर दस्तावेज़ खाता-प्राधिकृत वीडियो सूचीकरण को एक समर्पित वीडियो-सूची संचालन में भी अलग करता है, जो एक उपयोगी अनुस्मारक है कि पहचान समाधान और सामग्री पुनर्प्राप्ति अलग चरण हैं। उस पहले-पार्टी इंटरफ़ेस के लिए TikTok की सूची वीडियो दस्तावेज़ीकरण देखें।

अनुरोध पैरामीटर

प्रोफ़ाइल अभिनेता को unique_id की आवश्यकता होती है, जो @ के बिना लिखा जाता है। इसका उत्तर account_id, unique_id, और sec_uid के साथ सार्वजनिक प्रोफ़ाइल क्षेत्र और सांख्यिकी को शामिल कर सकता है।

पोस्ट अभिनेता को sec_uid की आवश्यकता होती है। यह cursor को एक स्ट्रिंग के रूप में और count को एक सकारात्मक पूर्णांक के रूप में स्वीकार करता है। दस्तावेज़ित डिफ़ॉल्ट "0" और 35 हैं। दस्तावेज़ क्रेंद्रित इनपुट की पुष्टि करता है, लेकिन प्रदर्शित प्रतिक्रिया एक सार्वभौमिक निरंतरता क्षेत्र या एक पूर्ण-इतिहास गारंटी स्थापित नहीं करती है।

Curl के साथ त्वरित कैप्चर

यह पहला अनुरोध उस खाते की पहचान को हल करता है जिसकी पोस्ट अभिनेता को आवश्यकता होती है।

नोट: नीचे दिया गया कोड एक जीवित Scrapeless API टोकन की आवश्यकता करता है SCRAPELESS_API_KEY में और पाठक द्वारा चयनित एक सार्वजनिक उपयोगकर्ता नाम।

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.user.detail",
    "input": {"unique_id": "tiktok"}
  }'

वापसी sec_uid को scraper.tiktok.user.work अनुरोध में कॉपी करें, या Python प्रोग्राम को दोनों कॉल करने दें।

प्रतिक्रिया लिफाफा

पोस्ट प्रतिक्रिया में एक items ऐरे होता है। प्रत्येक तत्व को एक अवलोकित सार्वजनिक पोस्ट रिकॉर्ड के रूप में माना जाए। तालिका बनाने के लिए निम्नलिखित समूह उपयोगी हैं:

समूह उदाहरण क्षेत्र सामान्यीकरण नियम
पहचान पोस्ट आईडी, पोस्ट यूआरएल आईडी को स्ट्रिंग के रूप में स्टोर करें और स्रोत यूआरएल को बनाए रखें
सामग्री विवरण, स्टिकर पाठ, हैशटैग, भाषा रिक्त पाठ और रिक्त सूचियों को संरक्षित करें
समय निर्माण तिथि स्रोत मान को बनाए रखें और एक अलग संग्रहित समय जोड़ें
संलग्नता प्ले, लाइक, टिप्पणी, साझा, संग्रह, फिर से पोस्ट गिनती स्नैपशॉट के रूप में रिकॉर्ड करें, अद्वितीय पहुंच नहीं
प्रारूप मीडिया, फोटो या वीडियो विवरण, उपशीर्षक रिक्त स्थान की अनुमति दें और लौटाए गए आइटम का निरीक्षण करें
झंडे पिन किया हुआ, विज्ञापन, ईकॉमर्स वीडियो इरादे को निर्धारित किए बिना बूलियन्स को संरक्षित करें

Scrapeless के साथ स्क्रैपिंग शुरू करें

Scrapeless के साथ अपने वेब स्क्रैपिंग और स्वचालन कार्यप्रवाह को शक्ति दें!
आज ही साइन अप करें और $5 का मुफ्त क्रेडिट प्राप्त करें — कोई क्रेडिट कार्ड आवश्यक नहीं

Scrapeless डैशबोर्ड में अपना मुफ्त क्रेडिट अभी क्लेम करें।

Python में API को एकीकृत करना

नीचे दिया गया प्रोग्राम प्रोफ़ाइल को हल करता है, प्रारंभिक दस्तावेज़ित क्रेंद्र से 20 आइटम एकत्र करता है, कच्ची प्रतिक्रिया को सहेजता है, और एक संक्षिप्त सांख्यिकी तालिका को निर्यात करता है। Python का CSV मॉड्यूल दस्तावेज़ीकरण उस लेखक को समझाता है जिसका उपयोग सामान्यीकृत फ़ाइल के लिए किया जाता है।

नोट: नीचे दिया गया कोड एक जीवित Scrapeless API टोकन की आवश्यकता करता है SCRAPELESS_API_KEY; उस बाहरी सत्यापन के बिना अनुरोध भाग को निष्पादित नहीं किया जा सकता।

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

ENDPOINT = "https://api.scrapeless.com/api/v1/scraper/request"
TOKEN = os.environ["SCRAPELESS_API_KEY"]
USERNAME = os.environ.get("TIKTOK_USERNAME", "tiktok").lstrip("@")


def run_actor(actor, actor_input):
    payload = json.dumps({"actor": actor, "input": actor_input}).encode()
    request = Request(
        ENDPOINT,
        data=payload,
        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": USERNAME},
)

posts = run_actor(
    "scraper.tiktok.user.work",
    {"sec_uid": profile["sec_uid"], "cursor": "0", "count": 20},
)

collected_at = datetime.now(timezone.utc).isoformat()
items = posts.get("items") or []

with open("tiktok-posts-raw.json", "w", encoding="utf-8") as raw_file:
    json.dump(posts, raw_file, ensure_ascii=False, indent=2)

fieldnames = [
    "collected_at",
    "account_unique_id",
    "post_id",
    "post_url",
    "description",
    "created_at",
    "play_count",
    "like_count",
    "comment_count",
    "share_count",
    "collect_count",
    "repost_count",
    "is_pinned",
    "hashtags",
]

with open("tiktok-post-metrics.csv", "w", newline="", encoding="utf-8") as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    writer.writeheader()
    for item in items:
        writer.writerow({
            "collected_at": collected_at,
            "account_unique_id": profile.get("unique_id", USERNAME),
            "post_id": str(item.get("id") or item.get("post_id") or ""),
            "post_url": item.get("url") or item.get("post_url") or "",
            "description": item.get("description") or "",
            "created_at": item.get("create_time") or item.get("date") or "",
            "play_count": item.get("play_count"),
            "like_count": item.get("like_count"),
            "comment_count": item.get("comment_count"),
            "share_count": item.get("share_count"),
            "collect_count": item.get("collect_count"),
            "repost_count": item.get("repost_count"),
            "is_pinned": item.get("is_pinned"),
            "hashtags": "|".join(
                str(tag.get("name", tag)) if isinstance(tag, dict) else str(tag)
                for tag in (item.get("hashtags") or [])
            ),
        })

print(f"Saved {len(items)} sampled post records for @{USERNAME}")

Normalizer में फ़ाल्क बैक फ़ील्ड नाम एक वैकल्पिक कुंजी को निर्यात को क्रैश करने से रोकते हैं। उन्हें उत्पादन स्कीमा को ठीक करने से पहले मौजूदा अभिनेता की प्रतिक्रिया के साथ तुलना करें, और कच्चे JSON को बनाए रखें ताकि परिवर्तन बाद में संशोधित किया जा सके।

फोटो पोस्ट, पिन किए गए झंडे, और रिक्त फ़ील्ड की व्याख्या करें

एक रिक्त वीडियो यूआरएल यह साबित नहीं करता कि संग्रह विफल रहा। TikTok कंटेंट स्वरूपों का समर्थन करता है जो एक पारंपरिक वीडियो ऑब्जेक्ट से परे हैं, और वैकल्पिक मीडिया, संगीत, या उपशीर्षक फ़ील्ड एक मान्य प्रतिक्रिया में रिक्त हो सकते हैं। प्रारूप लेबल को लौटाए गए ढांचे पर आधारित करें और जब सबूत अधूरा हो तब unknown स्थिति को बनाए रखें।

एक पिन किया हुआ झंडा संग्रहण समय पर प्रोफ़ाइल पर स्थान का वर्णन करता है। यह यह स्थापित नहीं करता कि कब निर्माता ने पोस्ट को पिन किया, इसे क्यों पिन किया गया, या क्या यह स्नैपशॉट के बाद पिन किया गया रहा।

सार्वजनिक मैट्रिक्स पर समान अनुशासन लागू होता है। एक प्ले गिनती एक संचयी प्लेटफ़ॉर्म काउंटर है जो पोस्ट के साथ उजागर होता है; यह अद्वितीय लोगों की गिनती नहीं है। लाइक, टिप्पणियाँ, शेयर, संग्रह, और फिर से पोस्ट दृश्य इंटरैक्शन का वर्णन करते हैं, अभियान की श्रेयता नहीं।

कर्सर और नमूना दायरे का सही ढंग से उपयोग करें

दस्तावेज़ित अनुरोध cursor को स्वीकार करता है, लेकिन उपलब्ध प्रतिक्रिया उदाहरण कोई एकल पृष्ठन नियम की पुष्टि नहीं करता है जिसे हर क्लाइंट में कॉपी किया जा सके। पहले उत्तर को सीमित नमूने के रूप में उपयोग करें जब तक कि जीवित प्रतिक्रिया और वर्तमान दस्तावेज़ सत्यापित निरंतरता मूल्य प्रदान न करें।

अनुरोध कर्सर, अनुरोधित गिनती, लौटाई गई आइटम की गिनती, और संग्रहण समय को आउटपुट के साथ रिकॉर्ड करें। ये चार क्षेत्र दायरे को स्पष्ट बनाते हैं। ये एक डैशबोर्ड को "20 अवलोकित पोस्ट" को "सभी पोस्ट" में बिना लेबल के टोटल में बदलने से भी रोकते हैं।

सामान्य समस्याएँ जिन्हें रोकना चाहिए

  • पोस्ट अभिनेता को unique_id पास करना। पहले प्रोफ़ाइल को हल करें और इसकी sec_uid का उपयोग करें।
  • लंबे आईडी को संख्याओं में परिवर्तित करना। खाते और पोस्ट पहचानकर्ताओं को स्ट्रिंग के रूप में बनाए रखें।
  • कमी को शून्य के रूप में मानना। एक रिक्त वैकल्पिक मैट्रिक या मीडिया फ़ील्ड तब तक अज्ञात रहनी चाहिए जब तक कि इसका अर्थ स्थापित न किया जाए।
  • पहले उत्तर को पूर्ण इतिहास कहना। इसे इसके कर्सर, अनुरोधित गिनती, और संग्रहण समय के साथ एक नमूने के रूप में लेबल करें।
  • स्रोत यूआरएल को छोड़ना। पोस्ट यूआरएल समीक्षकों को अवलोकित सार्वजनिक आइटम पर वापस जाने का सीधा मार्ग प्रदान करता है।
  • समीकरणात्मक गणनाओं को अंतराल वृद्धि के साथ मिलाना। एक सिंगल स्नैपशॉट स्तर देता है; डेल्टास के लिए बार-बार टाइमस्टैम्पेड स्नैपशॉट्स की आवश्यकता होती है।

Scrapeless Scraping API के तहत अभिनेता का पैकेज बनाता है। उत्पादन संग्रह कार्यक्रम निर्धारित करने से पहले वर्तमान मूल्य निर्धारण पृष्ठ की समीक्षा करें।

निष्कर्ष: विश्लेषण करने से पहले नमूना संरक्षित करें

एक विश्वसनीय TikTok वीडियो स्क्रैपर एक ज्ञात खाते को हल करता है, एक बाउंडेड पोस्ट नमूना अनुरोध करता है, और इसे समतल करने से पहले प्रतिक्रिया को संरक्षित करता है। उपयोगी आउटपुट केवल एक मैट्रिक्स CSV से अधिक है: इसमें स्थिर स्ट्रिंग पहचानकर्ता, स्रोत URL, एक संग्रह टाइमस्टैम्प, कच्चा JSON, और दायरे का ईमानदार विवरण शामिल है।

क्या आप सार्वजनिक TikTok पोस्ट मैट्रिक्स संग्रहित करने के लिए तैयार हैं?

Scrapeless Discord या Telegram समुदाय से जुड़े और कार्यान्वयन नोट्स की तुलना करें। जब आप कार्यप्रवाह का परीक्षण करने के लिए तैयार हों तो Scrapeless डैशबोर्ड में एक खाता बनाएं।

अक्सर पूछे जाने वाले प्रश्न

प्रश्न: TikTok वीडियो स्क्रैपर क्या है?

एक TikTok वीडियो स्क्रैपर समर्थित सार्वजनिक पोस्ट फ़ील्ड इकट्ठा करता है और उन्हें संरचित रूप में लौटाता है। इस गाइड में कार्यप्रवाह sec_uid को हल करने के लिए एक प्रोफ़ाइल अभिनेता का उपयोग करता है और एक पोस्ट अभिनेता items नमूना लौटाने के लिए।

प्रश्न: क्या एक TikTok पोस्ट स्क्रैपर एक खाते की हर पोस्ट प्राप्त कर सकता है?

एक अभिनेता की प्रतिक्रिया को हर पोस्ट के रूप में नहीं बताया जाना चाहिए। अनुरोध cursor और count को दस्तावेज करता है, लेकिन पूर्ण कवरेज एक सत्यापित निरंतरता नियम, खाते की सुलभ सार्वजनिक सामग्री, और इच्छित दायरे में सफल संग्रह पर निर्भर करता है।

प्रश्न: कौन से TikTok वीडियो मैट्रिक्स उपलब्ध हैं?

पोस्ट आइटम में सार्वजनिक प्ले, लाइक, टिप्पणी, साझा, संग्रह, और पुनःपोस्ट गणनाएँ शामिल हो सकती हैं। ये समय बिंदु में गणक हैं और अद्वितीय पहुंच, बिक्री, या अभियान अट्रिब्यूशन का प्रतिनिधित्व नहीं करते हैं।

प्रश्न: फोटो पोस्ट को कैसे संभालना चाहिए?

फोटो पोस्ट को लौटाए गए आइटम में मौजूद फ़ील्ड से पार्स किया जाना चाहिए। मीडिया फ़ील्ड को नल करने योग्य रखें और केवल इसलिए एक असफल स्क्रैप घोषित करने से बचें क्योंकि एक पारंपरिक वीडियो फ़ील्ड खाली है।

प्रश्न: क्या कार्यप्रवाह को प्रॉक्सी या ब्राउज़र पार्सर की आवश्यकता है?

प्रबंधित अभिनेता API अनुरोध के पीछे अपने संग्रह सतह को संभालता है। कॉलर मान्य पहचानकर्ता प्रदान करता है, नमूना सीमित करता है, प्रतिक्रिया को मान्य करता है, और परिणाम को जिम्मेदारी से संग्रहीत करता है।

प्रश्न: क्या सार्वजनिक TikTok पोस्ट स्क्रैपिंग कानूनी है?

कानूनी स्थिति क्षेत्राधिकार, उद्देश्य, डेटा, पहुंच विधि, और लागू शर्तों पर निर्भर करती है। केवल उन सार्वजनिक फ़ील्ड को इकट्ठा करें जो अनुमत उपयोग के लिए आवश्यक हैं, नियमों का पालन करें, और विशिष्ट परियोजना के लिए कानूनी सलाह लें।

स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।

सबसे लोकप्रिय लेख

सूची