ट्रैक करें TikTok शॉप SKU उपलब्धता और स्टॉक बदलाव
Lead Scraping Automation Engineer
TL;DR:
- TikTok दुकान के स्टॉक ट्रैकिंग SKU स्तर पर होती है। उत्पाद-स्तरीय स्टॉक और विविधता उपलब्धता विभिन्न प्रश्नों का उत्तर देती है।
- एक स्टॉक घटना के लिए दो मान्य अवलोकन की आवश्यकता होती है। गायब फ़ील्ड और विफल अनुरोध अज्ञात रहते हैं बजाय इसके कि वे स्टॉक से बाहर रिकॉर्ड बन जाएं।
- तुलना कुंजी में बाजार संदर्भ शामिल है। उत्पाद ID, लौटाई गई क्षेत्र, SKU ID, और विकल्प मानों को एक साथ रखें।
- नए, अनुपलब्ध, और अनुपस्थित SKUs विभिन्न स्थितियाँ हैं। एक प्रतिक्रिया से गायब विविधता की समीक्षा में प्रवेश करना चाहिए बजाय इसके कि उसे बंद किया गया माना जाए।
- जनता के उत्पाद स्नैपशॉट एक गोदाम की किताब नहीं होते। ये विक्रेता पक्ष की प्रतिबद्ध, आरक्षित, या संचालन इन्वेंट्री का स्थान नहीं लेते।
- शुरू करने के लिए स्वतंत्र। नए Scrapeless खाते Scrapeless डैशबोर्ड के माध्यम से मुफ्त क्रेडिट शामिल करते हैं।
परिचय: एक उत्पाद में कई उपलब्धता राज्य हो सकते हैं
एक उत्पाद पृष्ठ उपलब्ध हो सकता है जबकि एक आकार या रंग नहीं हो। केवल समग्र स्टॉक ऑब्जेक्ट की निगरानी करना उस विशेष विविधता को छुपा देता है जिसे एक खरीदार चुन सकता है।
यह ट्यूटोरियल skus एरे का विस्तार करता है जो Scrapeless TikTok दुकान अभिनेता द्वारा लौटाया गया है, प्रत्येक विविधता और अवलोकन के लिए एक पंक्ति स्टोर करता है, और स्टॉक से बाहर और स्टॉक में वापस आने वाली घटनाएँ उत्पन्न करता है। यह गायब फ़ील्ड, अनुरोध विफलताओं, और अस्थायी रूप से अनुपस्थित SKUs को निश्चित स्टॉक-घटना स्ट्रीम से बाहर रखता है।
TikTok दुकान स्क्रैपर गाइड यहाँ उपयोग किए गए उत्पाद और SKU प्रतिक्रिया परतों को समझाता है।
पाइपलाइन एक नजर में
| चरण | क्रिया | आउटपुट |
|---|---|---|
| देखने | उत्पाद ID और क्षेत्र जोड़े प्रदान करें | उत्पाद वॉचलिस्ट |
| फ़ेच | प्रत्येक सार्वजनिक उत्पाद पृष्ठ का अनुरोध करें | कच्चा उत्पाद स्नैपशॉट |
| विस्तृत करें | प्रत्येक SKU के लिए एक पंक्ति बनाएँ | विविधता स्नैपशॉट तालिका |
| तुलना करें | प्रत्येक SKU को इसके पूर्व मान्य पंक्ति से जोड़ें | उपलब्धता परिवर्तन |
| समीक्षा करें | अनुपस्थित और ज्ञात रिकॉर्ड को अलग करें | डेटा-गुणवत्ता क्वे |
पाइपलाइन खरीदार-सम्पर्क उत्पाद स्नैपशॉट फ़ील्ड की रिपोर्ट करती है। यह एक संपूर्ण गोदाम इन्वेंट्री प्रणाली नहीं है।
पूर्वापेक्षाएँ
- Scrapeless डैशबोर्ड से एक Scrapeless खाता और API टोकन
- मानक पुस्तकालय और SQLite के साथ Python 3
- ज्ञात सार्वजनिक TikTok दुकान उत्पाद IDs और क्षेत्रों की एक वॉचलिस्ट
- एक परिभाषित अवलोकन कार्यक्रम और समीक्षा नीति
- API उदाहरण के लिए एक जीवित
SCRAPELESS_API_KEY
संग्रह ब्लॉक एक पूर्वापेक्षा अंतर है क्योंकि एक क्रेडेंशियल और वास्तविक वॉचलिस्ट पाठक द्वारा प्रदान की जाती है। सामान्यीकरण नियमों को प्रलेखित दुकान प्रतिक्रिया का पालन करना चाहिए बिना किसी आविष्कृत वास्तविक आउटपुट का प्रस्तुत किए।
चरण 1: एक निश्चित क्षेत्र में ज्ञात उत्पाद का अनुरोध करें
scraper.tiktok.shop.page को product_id और region के साथ कॉल करें। परिणाम में हल किए गए region, उत्पाद-स्तरीय stock, options, और skus हो सकते हैं। प्रत्येक SKU में sku_id, इसके विकल्प जोड़ियाँ, संकुल मूल्य डेटा, available_quantity, in_stock, और एक छवि URL शामिल हो सकते हैं।
लौटाई गई क्षेत्र को बनाए रखें, भले ही यह अनुरोध से मामलों में भिन्न हो। क्षेत्र हर तुलना कुंजी में होना चाहिए क्योंकि उत्पाद की उपलब्धता बाजार के अनुसार भिन्न हो सकती है।
TikTok दुकान का आधिकारिक इन्वेंटरी-खोज प्रलेखन उत्पाद-ID और SKU-ID प्रश्नों को अलग करता है। उस भेद को सार्वजनिक स्नैपशॉट मॉडल में भी होना चाहिए।
चरण 2: उत्पाद और SKU इन्वेंट्री को अलग-अलग विस्तृत करें
उत्पाद-स्तरीय स्टॉक ऑब्जेक्ट में SKU की गणना, समग्र उपलब्ध मात्रा, और एक स्टॉक ध्वज शामिल हो सकता है। ये फ़ील्ड उत्पाद प्रतिक्रिया का सारांश देते हैं। इन्हें विविधता पंक्तियों को अधिलेखित नहीं करना चाहिए।
एक सामान्यीकृत SKU पंक्ति में शामिल होना चाहिए:
| फ़ील्ड | उद्देश्य |
|---|---|
collected_at |
अवलोकन की पहचान करता है |
product_id |
विविधता को इसके उत्पाद से जोड़ता है |
region |
क्रॉस-बाजार तुलना को रोकता है |
sku_id |
स्थिर विविधता तुलना कुंजी |
option_signature |
मानव-पठनीय रंग, आकार, या अन्य विकल्प जोड़ियाँ |
available_quantity |
उस SKU के लिए लौटाई गई मात्रा, nullable |
in_stock |
लौटाई गई उपलब्धता ध्वज, nullable |
collection_status |
सफल संग्रह से विफल संग्रह को अलग करता है |
जब available_quantity गायब हो तब in_stock = false प्राप्त न करें। दोनों फ़ील्ड को बनाए रखें क्योंकि प्रतिक्रिया एक को इस तरह से उजागर कर सकती है कि दूसरे को निकालने के लिए पर्याप्त सबूत नहीं है।
Scrapeless के साथ स्क्रेपिंग शुरू करें
Scrapeless के साथ अपनी वेब स्क्रेपिंग और ऑटोमेशन कार्यप्रवाह को शक्ति दें!
आज साइन अप करें और $5 का मुफ्त क्रेडिट प्राप्त करें — कोई क्रेडिट कार्ड आवश्यक नहीं।अपने मुफ्त क्रेडिट का दावा करें Scrapeless डैशबोर्ड में।
चरण 3: SQLite में विविधता स्नैपशॉट स्टोर करें
एक अपरिवर्तनीय तालिका हर अवलोकित स्थिति को संरक्षित करती है। SQLite का CREATE TABLE दस्तावेज़ यहां उपयोग किए गए प्रमुख कुंजी कर्ता को परिभाषित करता है।
नोट: नीचे का कोड लाइव Scrapeless API टोकन की आवश्यकता है
SCRAPELESS_API_KEY, साथ ही पाठक द्वारा प्रदान किए गएTIKTOK_SHOP_PRODUCT_IDऔरTIKTOK_SHOP_REGION।
python
import json
import os
import sqlite3
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 = json.dumps({
"actor": "scraper.tiktok.shop.page",
"input": {"product_id": str(product_id), "region": region},
}).encode()
request = Request(
ENDPOINT,
data=payload,
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)
raw = fetch_product(
os.environ["TIKTOK_SHOP_PRODUCT_ID"],
os.environ["TIKTOK_SHOP_REGION"],
)
collected_at = datetime.now(timezone.utc).isoformat()
product_id = str(raw.get("product_id") or "")
region = str(raw.get("region") or "")
database = sqlite3.connect("tiktok-shop-inventory.sqlite3")
database.execute("""
CREATE TABLE IF NOT EXISTS sku_snapshots (
collected_at TEXT NOT NULL,
product_id TEXT NOT NULL,
region TEXT NOT NULL,
sku_id TEXT NOT NULL,
option_signature TEXT,
available_quantity INTEGER,
in_stock INTEGER,
PRIMARY KEY (collected_at, product_id, region, sku_id)
)
""")
for sku in raw.get("skus") or []:
options = sku.get("options") or []
signature = " | ".join(
f"{option.get('name', '')}={option.get('value', '')}"
for option in options
)
database.execute(
"INSERT INTO sku_snapshots VALUES (?, ?, ?, ?, ?, ?, ?)",
(
collected_at, product_id, region, str(sku.get("sku_id") or ""),
signature, sku.get("available_quantity"), sku.get("in_stock"),
),
)
database.commit()
database.close()
with open("tiktok-shop-product-raw.json", "w", encoding="utf-8") as output:
json.dump(raw, output, ensure_ascii=False, indent=2)
पहचानकर्ताओं को पाठ के रूप में संग्रहीत करें और सामान्यीकृत तालिका के बगल में कच्चे JSON को संरक्षित करें। इससे विकल्प-लेबल या स्कीमा परिवर्तन बाद में समीक्षा योग्य हो जाते हैं।
चरण 4: स्टॉक परिवर्तनों को संवेदनशील रूप से वर्गीकृत करें
एक वैध उपलब्धता घटना उसी उत्पाद ID, लौटाई गई क्षेत्र, और SKU ID की तुलना करती है दो सफल अवलोकनों के बीच।
| पूर्व स्थिति | वर्तमान स्थिति | घटना |
|---|---|---|
true |
false |
out_of_stock |
false |
true |
back_in_stock |
| मात्रा में परिवर्तन, झंडे समान | मात्रा परिवर्तन | quantity_changed |
| कोई पूर्व पंक्ति नहीं | मौजूद | new_sku_observed |
| पहले मौजूद, अब अनुपस्थित | लौटाया नहीं गया | sku_absent_review |
| वैध पूर्व पंक्ति, असफल अनुरोध | ज्ञात नहीं | collection_gap |
sku_absent_review को एक अवलोकन से बंद इन्वेंट्री में न बदलें। उत्पाद विकल्प बदल सकते हैं, क्षेत्र अनुपस्थित हो सकते हैं, और एक असफल अनुरोध में कोई वैध उपलब्धता का प्रमाण नहीं होता है।
TikTok शॉप विक्रेता की ओर से भंडार-परिवर्तन घटनाओं को उपलब्ध, समर्पित, और अभियान-लक किया गया स्टॉक जैसी मात्रा के साथ दस्तावेज़ करता है अपने इन्वेंट्री वेब हुक विनिर्देश में। ये विक्रेता के पक्ष की आयाम यहां उपयोग किए गए सार्वजनिक शॉप पृष्ठ स्नैपशॉट से भिन्न हैं।
चरण 5: उपलब्धता रिपोर्ट तैयार करें
रिपोर्ट में उत्पाद नाम, क्षेत्र, SKU ID, विकल्प हस्ताक्षर, पूर्व और वर्तमान अवलोकन समय, पूर्व और वर्तमान झंडे, पूर्व और वर्तमान मात्रा, और घटना का प्रकार शामिल होना चाहिए। संग्रह के अंतराल को एक अलग गुणवत्ता खंड में रखें।
आउटपुट को तीन कतारों में समूहित करें:
- पुष्ट उपलब्धता परिवर्तन
- नए अवलोकित या अस्थायी रूप से अनुपस्थित संस्करण
- समीक्षा की आवश्यकता वाले अनुपस्थित क्षेत्रों और असफल संग्रह
यह अलगाव संचालन टीम को किसी ऐसे मान पर कार्य करने से रोकता है जिसे संग्रहकर्ता ने कभी नहीं देखा।
उत्पाद डेटा को जिम्मेदारी से संभालें
सिर्फ उन उत्पाद और SKU क्षेत्रों को जमा करें जो भंडार निर्णय के लिए आवश्यक हैं। जब स्रोत URL को संग्रहीत करना पर्याप्त हो, तो उत्पाद मीडिया को दोहराने से बचें, और आंतरिक वॉचलिस्ट या अलर्ट थ्रेशोल्ड तक पहुंच को प्रतिबंधित करें। NIST प्राइवेसी फ्रेमवर्क डेटा न्यूनतमकरण और सुरक्षा के लिए सामान्य नियंत्रण प्रदान करता है।
Scrapeless स्क्रैपिंग API के माध्यम से शॉप अभिनेता प्रदान करता है। वॉचलिस्ट आकार और कार्यक्रम निर्धारित करने से पहले वर्तमान मूल्य निर्धारण पृष्ठ की समीक्षा करें।
निष्कर्ष: घटना मॉडल में अनिश्चितता को सुरक्षित रखें
TikTok शॉप इन्वेंट्री ट्रैकिंग विश्वसनीय हो जाती है जब उत्पाद स्टॉक और SKU उपलब्धता अलग रहते हैं। वैध स्नैपशॉट के बीच सटीक संस्करण कुंजी की तुलना करें, अनुपस्थित डेटा को अज्ञात के रूप में संरक्षित करें, और स्टॉक घटना घोषित करने से पहले अनुपस्थित SKUs को समीक्षा के लिए भेजें।
क्या आप TikTok शॉप संस्करणों को ट्रैक करने के लिए तैयार हैं?
Scrapeless Discord या Telegram समुदाय में शामिल हों ताकि संस्करण-इतिहास स्कीमा पर चर्चा की जा सके। जब उत्पाद वॉचलिस्ट तैयार हो जाए तो Scrapeless Dashboard में एक खाता बनाएं।
प्रश्नोत्तर
प्रश्न: TikTok शॉप इन्वेंट्री ट्रैकर को क्या मॉनिटर करना चाहिए?
एक TikTok शॉप इन्वेंट्री ट्रैकर को उत्पाद स्तर के स्टॉक और व्यक्तिगत SKU उपलब्धता को अलग अवलोकनों के रूप में संरक्षित करना चाहिए।
प्रश्न: क्या अनुपस्थित SKU स्वचालित रूप से स्टॉक से बाहर है?
एक अनुपस्थित SKU स्वचालित रूप से स्टॉक से बाहर नहीं है। यदि एक वैध वर्तमान प्रतिक्रिया स्पष्ट रूप से अनुपलब्ध राज्य स्थापित नहीं करती है तो इसे समीक्षा के लिए चिह्नित करें।
प्रश्न: कौन सी कुंजी एक तुलना योग्य SKU स्नैपशॉट की पहचान करती है?
उत्पाद ID, लौटाई गई क्षेत्र, और SKU ID का उपयोग करें। समीक्षा के लिए विकल्प लेबल को संग्रहीत करें बिना उन्हें केवल कुंजी के रूप में उपयोग किए।
प्रश्न: क्या सार्वजनिक शॉप स्टॉक का मतलब वेयरहाउस इन्वेंट्री है?
सार्वजनिक शॉप स्टॉक एक पूर्ण वेयरहाउस खाता जैसी नहीं है। विक्रेता के पक्ष की प्रणालियाँ आरक्षित, समर्पित, स्थान, और पूर्ति राज्यों को शामिल कर सकती हैं जो सार्वजनिक उत्पाद स्नैपशॉट द्वारा उजागर नहीं होती हैं।
प्रश्न: क्या मुझे प्रॉक्सी या शॉप पृष्ठ चयनकर्ताओं का प्रबंधन करना चाहिए?
अभिनेता अपने संग्रह सतह को API अनुरोध के पीछे संभालता है। कॉलर वॉचलिस्ट, समय, संग्रहण, तुलना, और सूचनाएं प्रबंधित करता है।
प्रश्न: क्या सार्वजनिक TikTok शॉप उपलब्धता की निगरानी करना कानूनी है?
कानूनी स्थिति क्षेत्राधिकार, बाजार, उद्देश्य, पहुंच विधि, और लागू शर्तों पर निर्भर करता है। अनुमत उद्देश्य के लिए सार्वजनिक डेटा का उपयोग करें और लक्षित कार्यप्रवाह के लिए कानूनी सलाह प्राप्त करें।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।


