वापस ब्लॉग पर

Google SERP स्नैपशॉट डेटासेट का निर्माण SEO अनुसंधान के लिए

Michael Lee
Michael Lee

Expert Network Defense Engineer

11-Sep-2026

TL;DR:

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

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

गूगल SERP ट्रैकिंग दोहराए जाने योग्य संग्रह और एक स्पष्ट परिभाषा के साथ शुरू होती है कि क्या एक तुलना योग्य परिणाम के रूप में गिना जाता है। Scrapeless Google Search API संरचित खोज डेटा प्रदान करता है; अनुप्रयोग संग्रह नीति और इतिहास प्रदान करता है। यह लेख स्पष्ट रूप से उस सीमा का निर्माण करता है, एक कैप्चर फ़ाइल से एक डेटासेट तक जिसे एक और विश्लेषक देख सकता है।

अवलोकन को शेड्यूल से पहले परिभाषित करें

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

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

संग्रह शेड्यूल को खोज संदर्भ से अलग करें। संदर्भ पहचान करता है कि किन अवलोकनों की तुलना की जा सकती है; समय मुद्राएं पहचानती हैं कि कब अनुप्रयोग ने उन्हें अनुरोध किया और प्राप्त किया। एक ग्राहक रसीद समय मुद्रांक यह दावा नहीं है कि गूगल ने पृष्ठ कब उत्पन्न किया।

कच्चे रिकॉर्ड और व्युत्पन्न पंक्तियों को बनाए रखें

कच्चा रिकॉर्ड अनुरोध, प्रतिक्रिया, और संग्रह स्थिति को बनाए रखना चाहिए। एक व्युत्पन्न परिणाम पंक्ति को एक स्थिर रन पहचानकर्ता के माध्यम से उस रिकॉर्ड की ओर इशारा करना चाहिए।

जैविक-परिणाम प्रक्षिप्ति में उपलब्ध होने पर position, title, link, और snippet जैसे क्षेत्रों को बनाए रखें। यदि आपको स्रोत क्रम को बनाए रखना है तो सरणी क्रमांक को एक अलग क्षेत्र के रूप में भी रखें। एक गायब लौटाया गया पद शून्य रहना चाहिए; एक सरणी अनुक्रमांक को चुपचाप इसे बदलना नहीं चाहिए।

JSON डेटा मॉडल सरणियों, वस्तुओं, और नल को अलग-अलग अर्थ देता है। आसवन में उन विशिष्टताओं को बनाए रखें भले ही रिपोर्टिंग परत बाद में एक सरल तालिका का उपयोग करे। कच्ची प्रतिक्रिया एक अवलोकन का पुनः संग्रह किए बिना मैपिंग को बदलना संभव बनाती है जिसे अब पुन: उत्पन्न नहीं किया जा सकता।

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

कैप्चर फ़ाइल के लिए पूर्वापेक्षाएँ

requests पैकेज स्थापित करने के लिए Python का उपयोग करें और SCRAPELESS_API_KEY के माध्यम से एक Scrapeless API कुंजी प्रदान करें। python3 -m pip install requests के साथ ग्राहक को स्थापित करें। शेष आयात मानक पुस्तकालय का उपयोग करते हैं।

नीचे दिए गए स्क्रिप्ट को capture_snapshot.py के रूप में सेव करें और python3 capture_snapshot.py चलाएँ। यह snapshots के तहत एक विशिष्ट नाम वाले JSON फ़ाइल को लिखता है। सुनिश्चित करें कि वह निर्देशिका लिखने योग्य है और आपकी संग्रह नीति में शामिल है। उदाहरण एक स्थानीय कैप्चर कार्यक्रम है; यह शेड्यूलर, डेटाबेस, या कार्य-परिणाम पुनर्प्राप्ति सेवा प्रदान नहीं करता है।

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

अनुरोध और इसकी प्रोसेसिंग स्थिति कैप्चर करें

कैप्चर प्रोग्राम actor: scraper.google.search को खोज सेटिंग्स के साथ भेजता है input के भीतर। प्रमाणीकरण x-api-token हेडर का उपयोग करता है।

नोट: इस ब्लॉक को SCRAPELESS_API_KEY और सेवा पहुँच की आवश्यकता होती है। इसे इस लेख के लिए एक लाइव खाते के खिलाफ कार्यान्वित नहीं किया गया है। लंबित कार्य प्रतिक्रियाएँ निरीक्षण के लिए सुरक्षित हैं; कार्य-परिणाम पुनर्प्राप्ति इस उदाहरण के बाहर है।

python Copy
import json
import os
import uuid
from datetime import datetime, timezone
from pathlib import Path
import requests

def capture(input_parameters, directory="snapshots"):
    key = os.environ["SCRAPELESS_API_KEY"]
    request = {"actor": "scraper.google.search", "input": input_parameters}
    record = {
        "schema_version": 1,
        "run_id": str(uuid.uuid4()),
        "requested_at": datetime.now(timezone.utc).isoformat(),
        "request": request,
    }
    try:
        response = requests.post(
            "https://api.scrapeless.com/api/v1/scraper/request",
            headers={"x-api-token": key}, json=request, timeout=120,
        )
        record["http_status"] = response.status_code
        record["received_at"] = datetime.now(timezone.utc).isoformat()
        try:
            payload = response.json()
        except ValueError:
            payload = None
            record["response_text"] = response.text
        record["response"] = payload
        organic = payload.get("organic_results") if isinstance(payload, dict) else None
        if response.status_code == 201:
            record["state"] = "pending"
        elif response.status_code != 200:
            record["state"] = "http_error"
        elif not isinstance(organic, list) or any(not isinstance(x, dict) for x in organic):
            record["state"] = "unmapped"
        else:
            record["state"] = "observed" if organic else "empty"
    except requests.RequestException as exc:
        record["state"] = "transport_error"
        record["error_type"] = type(exc).__name__
    root = Path(directory)
    root.mkdir(parents=True, exist_ok=True)
    path = root / (record["run_id"] + ".json")
    with path.open("x", encoding="utf-8") as handle:
        json.dump(record, handle, ensure_ascii=False, indent=2)
    print(path, record["state"])
    return path

if __name__ == "__main__":
    capture({"q": "coffee", "gl": "us", "hl": "en", "start": 0,
             "google_domain": "google.com", "device": "desktop"})

स्क्रिप्ट HTTP ऑपरेशन के बाद रिकॉर्ड लिखता है, जिसमें संग्रह कवरेज के लिए उपयोगी त्रुटि परिणाम शामिल होते हैं। इसका अपवाद रिकॉर्ड पूर्ण निदान स्ट्रिंग के बजाय अपवाद प्रकार को शामिल करता है जो अनावश्यक अनुरोध विवरण को उजागर कर सकता है। संग्रहित खोज डेटा से कुंजी को अलग रखें।

120 समय सीमा एक अनुप्रयोग की पसंद है। यह सेवा के प्रतिक्रिया-समय की गारंटी नहीं है। Python के ज़ोन-जागरूक टाइमस्टैम्प क्लाइंट समय को स्पष्ट बनाते हैं; एक और संग्रहकर्ता जब डेटा सेट में लिखता है तो उसी परंपरा का उपयोग करें।

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

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

अभी अपने मुफ्त क्रेडिट का दावा करें Scrapeless Dashboard में।

अनुपस्थित संग्रह को इसकी अपनी परिणाम के रूप में मानें

एक विफल अवलोकन का मतलब यह नहीं है कि एक ट्रैक्स किए गए डोमेन गायब हो गया है। राज्य क्षेत्र उस गलती से रिपोर्ट की रक्षा करता है।

observed का अर्थ है कि एक सफल डेटा प्रतिक्रिया में एक गैर-खाली जैविक वस्तुओं का सरणी शामिल था। empty का अर्थ है कि सरणी मौजूद थी और खाली थी। unmapped का अर्थ है कि सफल प्रतिक्रिया उस न्यूनतम आकार से मेल नहीं खाती थी। ये अनुप्रयोग लेबल हैं, अतिरिक्त API स्थिति कोड नहीं।

pending प्रलेखित HTTP 201 कार्य राज्य को रिकॉर्ड करता है। कच्ची प्रतिक्रिया के साथ वापस किए गए कार्य पहचानकर्ता को रखें और उस रन को अवलोकित के रूप में गिनने से पहले एक अलग तरीके से सत्यापित परिणाम-प्राप्ति कार्यप्रवाह का उपयोग करें। HTTP त्रुटियां और परिवहन त्रुटियां संग्रह रिपोर्ट में शामिल होनी चाहिए, न कि एक रैंकिंग आंदोलन चार्ट में।

जब साप्ताहिक दृश्य तैयार करें, तो दिखाएं कि कितने नियोजित अवलोकन उपयोगी थे। परिणाम तुलना के बगल में अनुपस्थित या अनसुलझे रन की एक सूची रखें। एक चार्ट जो चुपचाप विफल संग्रह को बाहर करता है, वह स्थिर दिखाई दे सकता है जबकि इसके साक्ष्य पतले होते जाते हैं।

समान जैविक परिणामों की तुलना करें

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

Python के निर्धारक JSON अनुक्रमणिका विकल्प क्रमबद्ध शब्दकोश कुंजियों का समर्थन करते हैं। यह आपके अनुप्रयोग को प्रस्तुत सेटिंग्स का एक पुनरावृत्त प्रतिनिधित्व देता है। यह साबित नहीं करता है कि विभिन्न सेटिंग्स अर्थ में समान हैं, और यह अपस्ट्रीम खोज व्यवहार को भी नहीं जमाता।

पृष्ठ स्लाइस की तुलना करते समय कुंजी में start को बनाए रखें। यदि रिपोर्ट एक संग्रह विंडो में कई पृष्ठों को एकीकृत करती है, तो उस उच्च-स्तरीय विंडो को अलग से परिभाषित करें और अनुपस्थित पृष्ठों को चिह्नित करें। पहले पृष्ठ के अवलोकन को एक गहरे संग्रह के साथ मिक्स न करें और अंतर को रैंकिंग लाभ न कहें।

केवल आपके एकत्रित प्रतिक्रिया द्वारा समर्थित व्याख्या के भीतर लौटाए गए जैविक स्थानों का उपयोग करें। छवि, स्थानीय और अन्य मॉड्यूल को अलग रखें। सर्च कंसोल के स्थान मापन नियम एक अलग रिपोर्टिंग प्रणाली का वर्णन करते हैं; एक नमूदा API स्थिति को सर्च कंसोल के औसत स्थिति के रूप में फिर से लेबल नहीं किया जाना चाहिए।

एक समीक्षा योग्य परिवर्तन लॉग बनाएँ

एक उपयोगी परिवर्तन रिकॉर्ड पुराने रन, नए रन, संदर्भ, प्रभावित URL और नियम की पहचान करता है जिसने परिवर्तन का पता लगाया। इसे सुझाव देने से पहले एक अवलोकन का वर्णन करना चाहिए।

एक डोमेन के लिए, "दोनों कैप्चर किए गए स्लाइस में मौजूद," "इस स्लाइस में नए अवलोकित," और "बाद के स्लाइस में अवलोकित नहीं" के बीच अंतर करें। अंतिम लेबल "Google से हटा दिया गया" से संकीर्ण है। डोमेन एकत्रित गहराई से बाहर हो सकता है, और एक URL प्रतिस्थापन डोमेन की उपस्थिति को अपरिवर्तित छोड़ सकता है।

एक URL के लिए, दोनों सटीक-लिंक और सामान्यीकृत-हॉस्ट तुलना को बनाए रखें। सामान्यीकरण पृष्ठों को समूहित करने में मदद कर सकता है, लेकिन पथ, पैरामीटर, या उपडोमेन को छोड़ना भी उन चीजों को मिलाने के लिए कर सकता है जो अनुसंधान के लिए महत्वपूर्ण हैं। प्रत्येक सामान्यीकरण नियम को प्रलेखित करें और व्युत्पन्न मान के बगल में मूल लिंक को रखें।

परिवर्तन को मानव समीक्षा के लिए सहेजे गए साक्ष्य के साथ मार्गदर्शित करें। पृष्ठ अपडेट, खोज संदर्भ, और व्यापक खोज परिवर्तन सभी जांच के योग्य हो सकते हैं। केवल एक जोड़ी स्नैपशॉट यह स्थापित नहीं कर सकती है कि कौन सा आंदोलन का कारण बना।

निष्कर्ष

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

अपनी अगली खोज अवलोकन बनाएँ

Google Search API को उन प्रश्नों के चारों ओर कॉन्फ़िगर करें जिनका आपके टीम को उत्तर देने की आवश्यकता है। संग्रहण की आवृत्ति सेट करने से पहले Scrapeless कीमतें चेक करें। Google खोज पैरामीटर मॉडल इस कार्यप्रवाह में उपयोग किए गए संदर्भ नियंत्रणों की व्याख्या करता है।

अपने कार्यान्वयन पर Discord या Telegram पर समुदाय के साथ चर्चा करें।

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

प्रश्न: क्या यह संग्रह शुरू होने से पहले ऐतिहासिक Google रैंकिंग को पुनः प्राप्त करता है?

नहीं। यह कार्यप्रवाह उन अवलोकनों से इतिहास बनाता है जिन्हें आप सहेजते हैं। यह पूर्व की स्नैपशॉट नहीं बनाता है या ऐतिहासिक रैंकिंग डेटाबेस प्रदान नहीं करता है।

प्रश्न: क्या एक खाली ऑर्गेनिक एरे एक असफल अनुरोध के समान है?

नहीं। एक मौजूद खाली एरे empty के रूप में रिकॉर्ड किया जाता है; HTTP विफलताएँ, परिवहन विफलताएँ, लंबित कार्य और एक अनमैप किया गया उत्तर अलग-अलग अवस्थाओं में होते हैं।

प्रश्न: क्या विभिन्न देशों के पास समान रैंकिंग इतिहास हो सकता है?

वे एक भंडारण प्रणाली साझा कर सकते हैं, लेकिन उन्हें अलग-अलग तुलना समूहों के रूप में रहना चाहिए। देश अनुरोध संदर्भ का हिस्सा है।

प्रश्न: क्या परिणाम स्थिति विज़िट या राजस्व को मापती है?

नहीं। यह लौटाए गए खोज अवलोकन का वर्णन करती है। ट्रैफ़िक और व्यवसाय के परिणामों को अपनी स्वयं की साक्ष्य और मेल खाते परिभाषाओं की आवश्यकता होती है।

प्रश्न: स्नैपशॉट को कितनी बार इकट्ठा किया जाना चाहिए?

ऐसे लय का चुनाव करें जो शोध प्रश्न, बजट, और समीक्षा क्षमता से मेल खाता हो। याद की गई अवलोकनों को रिकॉर्ड करें और यह न imply करें कि एक नमूना शेड्यूल हर परिवर्तन को कैद करता है।

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

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

सूची