
Rajinder Singh
Deep Learning Researcher

खोज इंजन परिणाम पृष्ठ (SERPs) लगातार बदलते रहते हैं — सुविधाजनक स्निपेट घूमते हैं, लोग भी पूछते हैं बॉक्स अपडेट होते हैं, और एआई अवलोकन बिना चेतावनी के दिखाई दे सकते हैं या गायब हो सकते हैं। एआई खोज एजेंट्स जो इन विशेषताओं के लिए एसईओ टीमों के लिए निरीक्षण करते हैं, लाइव SERP डेटा के लिए लगातार एक्सेस की आवश्यकता होती है। हालांकि, गूगल और अन्य खोज इंजन एकाधिकारी बॉट सुरक्षा लागू करते हैं जैसे कि reCAPTCHA और दर सीमा जो स्वचालित SERP निरीक्षण को ब्लॉक करते हैं। इस गाइड में CapSolver का उपयोग करके एआई एजेंट्स के लिए SERP विशेषता निरीक्षण पाइपलाइन बनाने के बारे में बताया गया है ताकि अविच्छिन्न डेटा संग्रह बना रहे।
SEO और GEO (जनरेटिव इंजन अनुकूलन) टीमें निर्णय लेने के लिए सटीक और समय पर SERP डेटा पर निर्भर करती हैं। जब एक एआई एजेंट रैंकिंग बदलाव, सुविधाजनक स्निपेट अवसर या प्रतिद्वंद्वी गतिविधि के लिए खोज परिणामों के निरीक्षण करता है, तो इसे दिन में सैकड़ों या हजारों खोज प्रश्नों के निष्पादन की आवश्यकता होती है। गूगल के बॉट निरीक्षण प्रणाली इस पैटर्न की पहचान करती है और सत्यापन चुनौतियां उत्पन्न करती हैं।
सत्यापन दीवार कई रूपों में दिखाई देती है: दोहराए गए प्रश्नों के बाद एक पूर्ण-पृष्ठ reCAPTCHA चुनौति, "असामान्य ट्रैफिक" इंटरसिटियल पृष्ठ, या पूर्ण आईपी ब्लॉक। गूगल के क्रॉलर दस्तावेज़ीकरण के अनुसार, खोज परिणामों के लिए स्वचालित एक्सेस दर सीमा और सत्यापन आवश्यकताओं के अधीन होता है।
एआई खोज एजेंट्स के लिए, यह एक महत्वपूर्ण अंतर है। एजेंट बहुत अच्छी तरह से SERP डेटा का विश्लेषण कर सकता है — पैटर्न की पहचान कर सकता है, बदलाव की निगरानी कर सकता है, कार्रवाई की सिफारिश कर सकता है — लेकिन इसे कार्य करने के लिए आवश्यक डेटा का संग्रह नहीं कर सकता। CapSolver इस अंतर को पाटता है क्योंकि यह सत्यापन चुनौतियां एक साथ हल करता है, जिससे निरीक्षण पाइपलाइन बिना किसी अवरोध के जारी रहता है।
आवश्यक पैकेज स्थापित करें:
pip install git+https://github.com/capsolver-ai/capsolver-core.git
pip install aiohttp beautifulsoup4 pandas schedule
अपना API कुंजी सेट करें:
export CAPSOLVER_API_KEY="your-capsolver-api-key"
अतिरिक्त आवश्यकताएं:
अपने एआई एजेंट के लिए ट्रैक करने वाली SERP विशेषताओं को परिभाषित करें और उन्हें कैसे पहचानें:
from dataclasses import dataclass
from typing import List, Optional
from enum import Enum
class SERPFeature(Enum):
FEATURED_SNIPPET = "featured_snippet"
PEOPLE_ALSO_ASK = "people_also_ask"
AI_OVERVIEW = "ai_overview"
LOCAL_PACK = "local_pack"
KNOWLEDGE_PANEL = "knowledge_panel"
VIDEO_CAROUSEL = "video_carousel"
IMAGE_PACK = "image_pack"
TOP_STORIES = "top_stories"
SHOPPING_RESULTS = "shopping_results"
@dataclass
class SERPResult:
keyword: str
features_detected: List[SERPFeature]
featured_snippet_url: Optional[str]
featured_snippet_text: Optional[str]
paa_questions: List[str]
ai_overview_present: bool
ai_overview_sources: List[str]
organic_positions: List[dict] # [{url, title, position}]
timestamp: float
class SERPFeatureDetector:
"""Parsed search result pages से SERP विशेषताओं की पहचान करें।"""
def detect_features(self, html_content: str, keyword: str) -> SERPResult:
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
features = []
# Featured Snippet detection
snippet_div = soup.select_one('[data-attrid="wa:/description"], .xpdopen')
featured_url = None
featured_text = None
if snippet_div:
features.append(SERPFeature.FEATURED_SNIPPET)
featured_text = snippet_div.get_text(strip=True)[:500]
link = snippet_div.find('a')
featured_url = link['href'] if link else None
# People Also Ask detection
paa_questions = []
paa_section = soup.select('[data-q]')
if paa_section:
features.append(SERPFeature.PEOPLE_ALSO_ASK)
paa_questions = [q.get('data-q', '') for q in paa_section[:8]]
# AI Overview detection
ai_overview = soup.select_one('[data-attrid*="ai"], .ai-overview-container')
ai_sources = []
if ai_overview:
features.append(SERPFeature.AI_OVERVIEW)
source_links = ai_overview.select('a[href]')
ai_sources = [a['href'] for a in source_links[:5]]
# Local Pack detection
if soup.select_one('.VkpGBb, [data-attrid*="local"]'):
features.append(SERPFeature.LOCAL_PACK)
return SERPResult(
keyword=keyword,
features_detected=features,
featured_snippet_url=featured_url,
featured_snippet_text=featured_text,
paa_questions=paa_questions,
ai_overview_present=SERPFeature.AI_OVERVIEW in features,
ai_overview_sources=ai_sources,
organic_positions=self._extract_organic(soup),
timestamp=time.time()
)
def _extract_organic(self, soup) -> list:
results = []
for i, item in enumerate(soup.select('.g, [data-sokoban-container]')[:10], 1):
link = item.select_one('a[href^="http"]')
title = item.select_one('h3')
if link and title:
results.append({
"position": i,
"url": link['href'],
"title": title.get_text(strip=True)
})
return results
गूगल के सत्यापन चुनौतियों का प्रबंधन करने वाला डेटा संग्रह लेयर बनाएं:
import asyncio
import aiohttp
import time
import random
from capsolver_core import create_capsolver, CaptchaType, CaptchaInfo
class SERPCollector:
"""CAPTCHA हल करने वाला SERP डेटा संग्रह करें।"""
def __init__(self, api_key: str, proxies: list):
self.cap = create_capsolver(api_key=api_key)
self.proxies = proxies
self.proxy_index = 0
self.stats = {"queries": 0, "captchas_solved": 0, "failures": 0}
def _get_proxy(self) -> str:
proxy = self.proxies[self.proxy_index % len(self.proxies)]
self.proxy_index += 1
return proxy
async def search(self, keyword: str, location: str = "us") -> str:
"""CAPTCHA हल करने वाला गूगल खोज चलाएं।"""
proxy = self._get_proxy()
url = f"https://www.google.com/search?q={keyword}&gl={location}&hl=en"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",
"Accept-Language": "en-US,en;q=0.9",
"Accept": "text/html,application/xhtml+xml"
}
async with aiohttp.ClientSession() as session:
async with session.get(url, headers=headers, proxy=proxy, timeout=30) as resp:
html = await resp.text()
# CAPTCHA चुनौति पृष्ठ की जांच करें
if self._is_captcha_page(html):
html = await self._solve_and_retry(keyword, location, proxy, session)
self.stats["queries"] += 1
return html
def _is_captcha_page(self, html: str) -> bool:
"""निर्धारित करें कि उत्तर एक CAPTCHA चुनौति पृष्ठ है।"""
captcha_indicators = [
"unusual traffic from your computer",
"g-recaptcha",
"recaptcha/api",
"sorry/index",
"captcha"
]
return any(indicator in html.lower() for indicator in captcha_indicators)
async def _solve_and_retry(self, keyword: str, location: str, proxy: str, session) -> str:
"""CAPTCHA हल करें और फिर से प्रयास करें।"""
# गूगल अपने चुनौति पृष्ठों पर reCAPTCHA v2 का उपयोग करता है
info = CaptchaInfo(
type=CaptchaType.RECAPTCHA_V2,
website_url="https://www.google.com/sorry/index",
website_key="6LfwuyUTAAAAAOAmoS0fdqijC2PbbdH4kjq62Y1b"
)
solution = await self.cap.solve(info)
self.stats["captchas_solved"] += 1
# हल किए गए टोकन के साथ फिर से खोज चलाएं
retry_url = f"https://www.google.com/search?q={keyword}&gl={location}&hl=en"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}
# CAPTCHA टोकन को पुनर्प्रयास अनुरोध में शामिल करें
async with session.get(retry_url, headers=headers, proxy=proxy) as resp:
return await resp.text()
async def close(self):
await self.cap.aclose()
CapSolver reCAPTCHA हल करने के गाइड गूगल के विशिष्ट reCAPTCHA के अनुकूलन के बारे में अतिरिक्त विवरण प्रदान करता है।
संग्रह और डिटेक्शन को एक समय-सीमा निरीक्षण पाइपलाइन में जोड़ें:
class SERPMonitoringPipeline:
"""पूर्ण SERP विशेषता निरीक्षण पाइपलाइन।"""
def __init__(self, api_key: str, proxies: list):
self.collector = SERPCollector(api_key, proxies)
self.detector = SERPFeatureDetector()
self.results_history = []
async def monitor_keywords(self, keywords: list, location: str = "us") -> list:
"""SERP विशेषता बदलाव के लिए कीवर्ड के एक बैच की निगरानी करें।"""
results = []
for keyword in keywords:
try:
# SERP डेटा संग्रह
html = await self.collector.search(keyword, location)
# विशेषताओं की पहचान
serp_result = self.detector.detect_features(html, keyword)
results.append(serp_result)
# दर सीमा — 5-10 सेकंड का यादृच्छिक अंतराल
await asyncio.sleep(random.uniform(5, 10))
except Exception as e:
results.append(SERPResult(
keyword=keyword, features_detected=[],
featured_snippet_url=None, featured_snippet_text=None,
paa_questions=[], ai_overview_present=False,
ai_overview_sources=[], organic_positions=[],
timestamp=time.time()
))
self.results_history.extend(results)
return results
def detect_changes(self, current: list, previous: list) -> list:
"""वर्तमान और पिछले परिणामों की तुलना करके बदलाव की पहचान करें।"""
changes = []
prev_map = {r.keyword: r for r in previous}
for result in current:
prev = prev_map.get(result.keyword)
if not prev:
continue
# सुविधाजनक स्निपेट लाभ/हानि
had_snippet = SERPFeature.FEATURED_SNIPPET in prev.features_detected
has_snippet = SERPFeature.FEATURED_SNIPPET in result.features_detected
if has_snippet and not had_snippet:
changes.append(f"[जीता] '{result.keyword}' के लिए सुविधाजनक स्निपेट: {result.featured_snippet_url}")
elif had_snippet and not has_snippet:
changes.append(f"[हानि] '{result.keyword}' के लिए सुविधाजनक स्निपेट")
# AI अवलोकन दिखाई दे गए/गायब हो गए
if result.ai_overview_present and not prev.ai_overview_present:
changes.append(f"[नया] '{result.keyword}' के लिए AI अवलोकन दिखाई दिया")
elif prev.ai_overview_present and not result.ai_overview_present:
changes.append(f"[हटा दिया] '{result.keyword}' के लिए AI अवलोकन हटा दिया गया")
return changes
सैकड़ों कीवर्ड के लिए निरीक्षण के लिए लागत और प्रदर्शन में सुधार करें:
| निरीक्षित कीवर्ड | दैनिक जांच | मासिक CAPTCHAs (अनुमानित) | मासिक लागत |
|---|---|---|---|
| 50 कीवर्ड | 4 बार/दिन | ~600 | $1.2-1.8 |
| 200 कीवर्ड | 2 बार/दिन | ~1,200 | $2.4-3.6 |
| 500 कीवर्ड | 2 बार/दिन | ~3,000 | $6-9 |
| 1,000 कीवर्ड | 1 बार/दिन | ~3,000 | $6-9 |
अनुकूलन रणनीतियां:
अपना बोनस कोड दावा करें: CapSolver डैशबोर्ड पर विज्ञापन कोड WEBS का उपयोग करके प्रत्येक भरोसे में 5% का अतिरिक्त बोनस प्राप्त करें। SEO टीमों के लिए उपयुक्त जो बड़े पैमाने पर SERP निरीक्षण चला रहे हैं।
CapSolver वेब स्क्रैपिंग दस्तावेज़ीकरण उच्च आउटपुट डेटा संग्रह के लिए अतिरिक्त बुनियादी ढांचा पैटर्न को कवर करता है। Cloudflare-संरक्षित खोज उपकरणों के साथ निपटने के लिए, Turnstile हल करने के गाइड उपयोगकर्ता विवरण प्रदान करता है।
एआई खोज एजेंट्स के लिए SERP विशेषता निरीक्षण बनाने के लिए एक CAPTCHA-संवेदनशील डेटा संग्रह लेयर, एक विशेषता डिटेक्शन पार्सर और एक बदलाव डिटेक्शन प्रणाली की आवश्यकता होती है। CapSolver गूगल के reCAPTCHA चुनौतियों को 3-8 सेकंड में हल करके आपके निरीक्षण पाइपलाइन को लगातार चलाए रखने के लिए सत्यापन-स्पष्टीकरण बुनियादी ढांचा प्रदान करता है ताकि आपके एआई एजेंट के पास विश्लेषण के लिए ताजा SERP डेटा हो।
अपने सबसे उच्च प्राथमिकता वाले कीवर्ड से शुरू करें, डिटेक्शन सटीकता की पुष्टि करें, फिर पूर्ण कीवर्ड कवरेज तक पहुंचें। रिजिडेंटियल प्रॉक्सी, बुद्धिमान दर सीमा और स्वचालित CAPTCHA हल करने के संयोजन लाभकारी लागत पर 98%+ डेटा संग्रह विश्वसनीयता प्रदान करते हैं।
सही प्रॉक्सी रोटेशन और CAPTCHA हल करने के साथ, आप एक निर्माण पाइपलाइन इकाई से 500-1,000 कीवर्ड प्रतिदिन विश्वसनीय रूप से मॉनिटर कर सकते हैं। सीमाबद्ध कारक आमतौर पर प्रॉक्सी पूल के आकार होता है बजाय CAPTCHA हल करने की क्षमता के। CapSolver हजारों समानांतर कार्यों को दर सीमा बिना संभालता है।
हां। SERP विशेषता डिटेक्टर खोज परिणामों में AI ओवरव्यू खंडों की पहचान करता है। क्योंकि AI ओवरव्यू मानक गूगल खोज परिणाम पृष्ठों पर दिखाई देते हैं, उसी संग्रह और CAPTCHA हल करने के दृष्टिकोण उन्हें ग्रहण करते हैं। ट्रैक करें कौन से कीवर्ड AI ओवरव्यू को ट्रिगर करते हैं और कौन से स्रोत उद्धृत किए जाते हैं।
आवासीय प्रॉक्सी और प्रश्नों के बीच 5-10 सेकंड के देरी के साथ, CAPTCHA मुठभेड़ दर आमतौर पर 5-15% होती है। प्रॉक्सी के बिना या आक्रामक समय निर्धारण के साथ, यह 30-50% तक पहुंच सकता है। अच्छे प्रॉक्सी और CAPTCHA हल करने के संयोजन के साथ लगभग 100% डेटा संग्रह सफलता सुनिश्चित करता है।
हां। स्वाभाविक स्थिति निष्कर्षण प्रत्येक कीवर्ड के शीर्ष 10 परिणामों को ग्रहण करता है। अपने कीवर्ड सेट में प्रतिद्वंद्वी यूआरएल की निगरानी करें रैंकिंग लाभ, हानि और नए प्रवेश की खोज करें। सामग्री अवसरों की पहचान करने के लिए सुविधाजनक स्निपेट ट्रैकिंग के साथ संयोजित करें।
अपने खोज URL में gl (जियोलोकेशन) पैरामीटर सेट करें विशिष्ट देशों के लक्ष्य करने के लिए। गूगल इस पैरामीटर के आधार पर स्थानीयकृत परिणाम प्रदान करता है। CAPTCHA हल करने के दृष्टिकोण सभी गूगल डोमेन में एक जैसा काम करता है — एक ही reCAPTCHA प्रणाली सभी क्षेत्रीय संस्करणों की रक्षा करती है।
Rust में वेब स्क्रैपिंग के स्केलेबल आर्किटेक्चर सीखें, reqwest, scraper, असिंक्रोनस स्क्रैपिंग, हेडलेस ब्राउज़र स्क्रैपिंग, प्रॉक्सी रोटेशन, और संगत CAPTCHA का निपटारा।

CapSolver के साथ RoxyBrowser के एकीकरण करें ताकि ब्राउज़र के कार्यों को स्वचालित किया जा सके और reCAPTCHA, Turnstile और अन्य CAPTCHAs को बायपास किया जा सके।
