बॉट पहचान से बचें: प्लेअराइट स्टील्थ के साथ 9 समाधान 2026 के लिए
Expert Network Defense Engineer
TL;DR:
- प्लेवाइट फ़िंगरप्रिंट लीक करता है। डिफ़ॉल्ट हेडलेस क्रोमियम साक्षात्कार स्वचालन संकेत जैसे
navigator.webdriver, अनुपस्थित प्लगइन्स, और पूर्वानुमान योग्य व्यूपोर्ट आकार को प्रसारित करते हैं। - पायथन और नोड.जेएस के पारिस्थितिकी तंत्र भिन्न हैं। पायथन में
playwright-stealthका प्रयोग करें (v2.x संदर्भ प्रबंधक के साथ) और नोड.जेएस में इन लीक को पैच करने के लिएplaywright-extraका उपयोग करें। - स्टील्थ के लिए कई परतें आवश्यक हैं। आधुनिक पहचान को बाईपास करने के लिए, जावास्क्रिप्ट परत को पैच करना, हेडर को यादृच्छिक बनाना, प्रोक्सी को घुमाना, और सत्र कुकीज़ को एक साथ प्रबंधित करना आवश्यक है।
- क्लाउड ब्राउज़र्स बाकी का ध्यान रखते हैं। जब स्थानीय स्टील्थ प्लगइन्स उन्नत WAFs के खिलाफ विफल होते हैं, तो प्रबंधित ढांचे में ब्राउज़र निष्पादन को ऑफ़लोड करना ही विश्वसनीय अपग्रेड पथ होता है।
- शुरू करने के लिए मुफ्त। नए स्क्रैपलेस खातों में मुफ्त स्क्रैपिंग ब्राउज़र रनटाइम शामिल है — app.scrapeless.com पर साइन अप करें।
परिचय: डिफ़ॉल्ट स्वचालन की सीमाएँ
प्लेवाइट एक शक्तिशाली ब्राउज़र ऑटोमेशन टूल है, लेकिन इसे बॉक्स से बाहर निकालने पर यह अपने आप को एक बॉट के रूप में घोषित करता है। जब आप एक हेडलेस क्रोमियम साक्षात्कार को चालू करते हैं, तो यह विशिष्ट चिह्न ले जाता है—जैसे navigator.webdriver फ़्लैग जो true पर सेट है, मानक ब्राउज़र प्लगइन्स की कमी और विशिष्ट WebGL हस्ताक्षर। क्लाउडफ्लेयर, डेटा डोम और एकामाई जैसे आधुनिक एंटी-बॉट सिस्टम इन संकेतों को पढ़ते हैं और आपकी स्क्रिप्ट द्वारा DOM को पार्स करने से पहले ही अनुरोध को रोक देते हैं।
संरक्षित साइटों को स्क्रैप करने के लिए, आपको प्लेवाइट स्टील्थ की आवश्यकता है। हालाँकि, "स्टील्थ मोड" एक अंतर्निहित टॉगल नहीं है जिसे आप प्लेवाइट लाइब्रेरी में बदल सकते हैं। यह ब्राउज़र फ़िंगरप्रिंट लीक को पैच करने, नेटवर्क विशेषताओं को प्रबंधित करने और मानव व्यवहार की नकल करने के लिए विशिष्ट तकनीकों को लागू करने की आवश्यकता होती है।
यह गाइड 2025 में प्लेवाइट के साथ बॉट पहचान से बचने के लिए 9 व्यावहारिक समाधानों को तोड़ता है, जिससे आपको आधुनिक वेब स्क्रैपिंग की जटिलताओं को नेविगेट करने में मदद करने के लिए विस्तृत कोड उदाहरण मिलते हैं।
आप इसके साथ क्या कर सकते हैं
- बुनियादी बॉट पहचान को बाईपास करें। उन वेबसाइटों तक पहुँचें जो डिफ़ॉल्ट हेडलेस ब्राउज़रों को रोकती हैं
navigator.webdriverऔर उपयोगकर्ता-एजेंट लीक को पैच करके। - ब्राउज़र फ़िंगरप्रिंट को मानकीकृत करें। अपने हेडलेस क्रोमियम साक्षात्कार में यथार्थवादी हार्डवेयर समवर्ती, मेमोरी, और प्लगइन डेटा को इंजेक्ट करें।
- सत्र निरंतरता बनाए रखें। स्टील्थ पैच को उचित कुकी और संदर्भ प्रबंधन के साथ संयोजित करें ताकि सत्र अधिक समय तक जीवित रहे।
- डेटा निष्कर्षण को स्केल करें। उच्च-वॉल्यूम स्क्रैपिंग कार्यों के लिए समानांतर, स्टील्थ-पैच किए गए ब्राउज़र संदर्भ चलाएँ।
स्क्रेपलेस स्क्रैपिंग ब्राउज़र क्यों
स्क्रेपलेस स्क्रैपिंग ब्राउज़र एक अनुकूलन योग्य, एंटी-डिटेक्शन क्लाउड ब्राउज़र है जो वेब क्रॉलर और एआई एजेंटों के लिए डिज़ाइन किया गया है। जब स्थानीय स्टील्थ प्लगइन्स उन्नत WAFs के खिलाफ अपनी सीमाओं तक पहुँचते हैं, तो यह लाता है:
- अंतर्निर्मित एंटी-डिटेक्शन। नटिव फ़िंगरप्रिंट स्पूफिंग जो जावास्क्रिप्ट पैच से परे जाती है, जिसमें TLS और TCP फ़िंगरप्रिंट प्रबंधन शामिल हैं।
- स्वचालित प्रॉक्सी रोटेशन। IP प्रतिष्ठा समस्या को हल करने के लिए 195 से अधिक देशों में एकीकृत आवासीय प्रॉक्सियाँ।
- प्रबंधित चुनौती समाधान। क्लाउडफ्लेयर टर्नस्टाइल, reCAPTCHA, और hCaptcha का स्वचालित समाधान।
- प्लेवाइट संगतता। अपनी मौजूदा प्लेवाइट स्क्रिप्ट को एक लाइन कोड के माध्यम से क्लाउड ब्राउज़र से कनेक्ट करें।
app.scrapeless.com पर मुफ्त योजना पर अपना एपीआई की प्राप्त करें।
पूर्वापेक्षाएँ
- Node.js 18+ या Python 3.10+
- एक स्क्रेपलेस खाता और एपीआई की — app.scrapeless.com पर साइन अप करें
- प्लेवाइट ऑटोमेशन की बुनियादी जानकारी
प्लेवाइट स्टील्थ के साथ बॉट पहचान से बचने के लिए 9 समाधान
1. navigator.webdriver फ़्लैग को निष्क्रिय करें
स्वचालन के सबसे सामान्य संकेतकों में से एक navigator.webdriver प्रॉपर्टी है, जिसे स्वचालित ब्राउज़र वातावरण में true पर सेट किया जाता है। W3C WebDriver मानक इस फ्लैग को स्वचालित ट्रैफ़िक की पहचान की अनुमति देने के लिए विशेष रूप से परिभाषित करता है। वेबसाइटें इस फ़्लैग की जांच करके बॉट को आसानी से पहचान सकती हैं। इसे निष्क्रिय करना एक बुनियादी स्टील्थ तकनीक है।
कोड ऑपरेशन चरण:
इससे पहले कि कोई साइट स्क्रिप्ट चले, navigator.webdriver प्रॉपर्टी को संशोधित करने के लिए जावास्क्रिप्ट इंजेक्ट करने के लिए page.add_init_script() का उपयोग करें:
python
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
context = browser.new_context()
# वेब ड्राइवर फ़्लैग को निष्क्रिय करने के लिए जावास्क्रिप्ट इंजेक्ट करें
context.add_init_script("""
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
""")
page = context.new_page()
page.goto("https://bot.sannysoft.com/")
page.screenshot(path="webdriver_disabled.png")
browser.close()
2. उपयोगकर्ता-एजेंट स्ट्रिंग को यादृच्छिक बनाएं
User-Agent हेडर वेब सर्वर को ब्राउज़र और ऑपरेटिंग सिस्टम की पहचान करता है। एक निरंतर या पुराने User-Agent का उपयोग करना (विशेषकर एक जो HeadlessChrome को शामिल करता है) बॉट का एक मजबूत संकेत है। User-Agent स्ट्रिंग्स को यादृच्छिक बनाना विभिन्न वैध उपयोगकर्ताओं के रूप में प्रकट होने में मदद करता है।
कोड संचालन चरण:
सामान्य User-Agent स्ट्रिंग्स की एक सूची बनाएँ और प्रत्येक सत्र के लिए एक को यादृच्छिक रूप से चुनें:
python
from playwright.sync_api import sync_playwright
import random
user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0"
]
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
context = browser.new_context(user_agent=random.choice(user_agents))
page = context.new_page()
page.goto("https://www.whatismybrowser.com/detect/what-is-my-user-agent")
page.screenshot(path="random_user_agent.png")
browser.close()
3. प्रॉक्सी का उपयोग करें और IP पतों को घुमाएँ
समान IP पते से बार-बार अनुरोध बॉट गतिविधि का प्राथमिक संकेत होते हैं। प्रत्येक अनुरोध या सत्र के लिए प्रॉक्सी के एक पूल का उपयोग करना और IP पते को घुमाना आपके ट्रैफ़िक को वितरित करता है और IP-आधारित अवरोधों से बचाता है।
कोड संचालन चरण:
प्लेwright को प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करें:
python
from playwright.sync_api import sync_playwright
import random
proxies = [
"http://user1:pass1@proxy1.example.com:8080",
"http://user2:pass2@proxy2.example.com:8080"
]
with sync_playwright() as p:
# यादृच्छिक रूप से चयनित प्रॉक्सी के साथ ब्राउज़र लॉन्च करें
browser = p.chromium.launch(headless=True, proxy={
"server": random.choice(proxies)
})
page = browser.new_page()
page.goto("https://www.whatismyip.com/")
browser.close()
विशाल स्केल संचालन के लिए, ऐसे प्रबंधित प्रॉक्सी सेवा का उपयोग करने पर विचार करें जैसे Scrapeless Proxies जो स्वचालित रूप से घुमाव को संभालता है।
4. यथार्थवादी माउस आंदोलन और कीबोर्ड इनपुट का अनुकरण करें
बॉट अक्सर वेब तत्वों के साथ सीधे और तात्कालिक रूप से इंटरैक्ट करते हैं, जो अप्राकृतिक है। एंटी-बॉट सिस्टम व्यवहारिक बायोमेट्रिक्स जैसे कर्सर की गति और कीस्ट्रोक की लय को ट्रैक करते हैं। मानव-समान माउस आंदोलनों, क्लिक और कीबोर्ड इनपुट का अनुकरण करने से पहचान की संभावनाएँ कम होती हैं।
कोड संचालन चरण:
विलंब और यथार्थवादी पथों को पेश करने के लिए page.mouse और page.keyboard विधियों का उपयोग करें:
python
from playwright.sync_api import sync_playwright
import time
import random
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://www.example.com")
# मानव-समान टाइपिंग का अनुकरण करें
search_input = page.locator("#search-box")
search_input.click()
text_to_type = "Playwright Stealth"
for char in text_to_type:
page.keyboard.type(char)
time.sleep(random.uniform(0.05, 0.2)) # कुंजी दबाने के बीच यादृच्छिक विलंब
page.keyboard.press("Enter")
browser.close()
5. कुकीज़ और सत्र डेटा का प्रबंधन करें
वेबसाइटें उपयोगकर्ता सत्रों को ट्रैक करने के लिए कुकीज़ का उपयोग करती हैं। अनुरोधों के बीच कुकीज़ को छोड़ने वाले बॉट्स को स्वचालित ट्रैफ़िक के रूप में आसानी से पहचाना जाता है। कुकीज़ को स्वीकार करके और भेजकर एक सुसंगत सत्र बनाए रखना अनिवार्य है।
कोड संचालन चरण:
कुकीज़ और स्थानीय संग्रह को सहेजने के लिए context.storage_state() का उपयोग करें, फिर नए सत्रों में उन्हें लोड करें:
python
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
# परिदृश्य 1: भविष्य के उपयोग के लिए वर्तमान सत्र कुकीज़ सहेजें
context = browser.new_context()
page = context.new_page()
page.goto("https://www.example.com/login")
# लॉगिन करें ...
# स्थिति सहेजें
context.storage_state(path="state.json")
browser.close()
# परिदृश्य 2: पिछले सत्र से कुकीज़ लोड करें
browser2 = p.chromium.launch(headless=True)
context2 = browser2.new_context(storage_state="state.json")
page2 = context2.new_page()
page2.goto("https://www.example.com/dashboard")
browser2.close()
6. व्यूपोर्ट आकार और उपकरण अनुकरण को समायोजित करें
वेबसाइटें विसंगतियों का पता लगाने के लिए व्यूपोर्ट आकार और स्क्रीन रिज़ॉल्यूशन की जांच करती हैं। एक सामान्य 800x600 व्यूपोर्ट का उपयोग एक सामान्य लाल झंडा है। सामान्य उपकरण कॉन्फ़िगरेशन का अनुकरण करना वास्तविक उपयोगकर्ता ट्रैफ़िक में विलय करने में मदद करता है।
कोड संचालन चरण:
नया संदर्भ बनाते समय viewport और user_agent सेट करें:
python
from playwright.sync_api import sync_playwright
import random
viewports = [
{"width": 1920, "height": 1080}, # डेस्कटॉप
{"width": 1366, "height": 768}, # लैपटॉप
]
sync_playwright() के साथ () जैसे p:
browser = p.chromium.launch(headless=True)
selected_viewport = random.choice(viewports)
context = browser.new_context(
viewport=selected_viewport
)
page = context.new_page()
page.goto("https://www.deviceinfo.me/")
browser.close()
### 7. हेडलेस मोड डिटेक्शन से बचें
जबकि हेडलेस मोड कुशल होता है, कुछ एंटी-बॉट सिस्टम इसे ग्राफिक्स रेंडरिंग क्षमताओं की कमी की जांच करके पहचान सकते हैं। Playwright को हेडफुल मोड (दृश्य ब्राउज़र UI के साथ) में चलाना कभी-कभी पहचान से बच सकता है, विशेष रूप से अधिक आक्रामक सिस्टम के लिए।
**कोड ऑपरेशन चरण:**
ब्राउज़र लॉन्च करते समय `headless=False` सेट करें:
```python
from playwright.sync_api import sync_playwright
sync_playwright() के साथ () जैसे p:
browser = p.chromium.launch(headless=False) # हेडफुल मोड में लॉन्च करें
page = browser.new_page()
page.goto("https://www.example.com")
browser.close()
8. playwright-stealth और playwright-extra का उपयोग करें
हैंडलिंग जावास्क्रिप्ट इंजेक्शन के बजाय, समर्पित स्टेल्थ पैकेज का उपयोग करें। पाइथन पारिस्थितिकी तंत्र playwright-stealth का उपयोग करता है, जबकि Node.js playwright-extra का उपयोग करता है जो puppeteer-extra-plugin-stealth के साथ संयोजित होता है। ये पुस्तकालय स्वचालित रूप से कई बाधाओं को लागू करते हैं ताकि ब्राउज़र फिंगरप्रिंट को पैच किया जा सके।
कोड ऑपरेशन चरण (पायथन):
पैकेज इंस्टॉल करें (pip install playwright-stealth) और v2.x कॉन्टेक्स्ट प्रबंधक API का उपयोग करें:
python
import asyncio
from playwright_stealth import Stealth
from playwright.async_api import async_playwright
async def main():
# संदर्भ प्रबंधक स्वचालित रूप से स्टेल्थ पैच लागू करता है
async with Stealth().use_async(async_playwright()) as playwright:
browser = await playwright.chromium.launch(headless=True)
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://bot.sannysoft.com/")
await browser.close()
asyncio.run(main())
9. कार्यों में विलंब और यादृच्छिकता लागू करें
बॉट अक्सर निर्दोष समय और गति के साथ क्रियाएँ निष्पादित करते हैं। कार्यों के बीच यादृच्छिक विलंब और इंटरैक्शन की गति को बदलने का परिचय देने से स्क्रिप्ट अधिक मानव रूप में दिखाई देती है।
कोड ऑपरेशन चरण:
यादृच्छिक इंटरवल के साथ time.sleep() का उपयोग करें:
python
from playwright.sync_api import sync_playwright
import time
import random
sync_playwright() के साथ () जैसे p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto("https://www.example.com")
# यादृच्छिक विलंब के साथ ब्राउज़िंग का अनुकरण करें
time.sleep(random.uniform(2, 5)) # प्रारंभिक पृष्ठ लोड विलंब
page.click("a[href='/products']")
page.locator("input[name='q']").fill("search item")
time.sleep(random.uniform(0.5, 1.5)) # टाइप करने के बाद विलंब
page.keyboard.press("Enter")
browser.close()
अपने मुफ्त योजना पर अपना API कुंजी प्राप्त करें: app.scrapeless.com
निष्कर्ष: बुनियादी स्टेल्थ से परे
Playwright स्टेल्थ प्लगइन्स और व्यवहारात्मक समायोजन बुनियादी वेब स्क्रैपिंग के लिए आवश्यक हैं, लेकिन उनके कठोर सीमाएँ हैं। वे जावास्क्रिप्ट स्तर पर काम करते हैं, जिसका मतलब है कि वे TLS फिंगरप्रिंट, TCP विंडो आकारों को स्पूफ नहीं कर सकते, या क्लाउडफ्लेयर टर्नस्टाइल जैसी जटिल व्यवहारात्मक चुनौतियों को हल कर सकते हैं।
जब आपका स्टेल्थ-पैच किया हुआ स्थानीय ब्राउज़र 403 त्रुटियाँ या CAPTCHA लूप प्राप्त करना शुरू करता है, तो समाधान अधिक जावास्क्रिप्ट वर्जन लिखना नहीं है। समाधान इसे प्रबंधित अवसंरचना जैसे Scrapeless Scraping Browser पर ऑफलोड करना है, जो स्वचालित रूप से IP घुमाव, TLS फिंगरप्रिंटिंग, और चुनौती सुलझाने को संभालती है जबकि आपको अपने Playwright कोड को बनाए रखने की अनुमति देती है।
क्या आप अपने AI-पावर्ड डेटा पाइपलाइन बनाने के लिए तैयार हैं?
सामाजिक विकासकर्ताओं की समुदाय में शामिल हों जो मजबूत डेटा निष्कर्षण प्रणाली बना रहे हैं।
- डिस्कॉर्ड: https://discord.gg/VU2vtbq7Q2
- टेलीग्राम: https://t.me/scrapeless
- साइन अप करें: app.scrapeless.com
सामान्य प्रश्न
प्रश्न: क्या Playwright स्टेल्थ पुस्तकालय में शामिल है?
नहीं। Playwright में कोई मूल स्टेल्थ मोड नहीं है। आपको तृतीय-पक्ष पैकेज का उपयोग करना होगा: Python के लिए playwright-stealth, या Node.js के लिए स्टेल्थ प्लगइन के साथ playwright-extra।
प्रश्न: क्या स्टेल्थ प्लगइन्स क्लाउडफ्लेयर को बायपास करते हैं?
स्टेल्थ प्लगइन्स बुनियादी ब्राउज़र फिंगरप्रिंट लीक को पैच करते हैं, जो आसान जांचों के खिलाफ मदद करता है। हालाँकि, वे उन्नत क्लाउडफ्लेयर चुनौतियों (जैसे टर्नस्टाइल) को हल नहीं करते हैं या IP प्रतिष्ठा मुद्दों को ठीक नहीं करते हैं।
प्रश्न: क्या Playwright स्टेल्थ Firefox या WebKit के साथ काम करता है?
नहीं। पाइथन और नोड.js स्टेल्थ पैकेज में एवेज़न मॉड्यूल विशेष रूप से क्रोमियम एपीआई को पैच करने के लिए डिजाइन किए गए हैं। ये फायरफॉक्स या वेबकिट का समर्थन नहीं करते।
प्रश्न: क्या मुझे स्टेल्थ का उपयोग करते समय भी प्रॉक्सी की आवश्यकता है?
हाँ। स्टेल्थ प्लगइन केवल ब्राउज़र की पहचान (फिंगरप्रिंट) को छुपाते हैं। ये आपके आईपी पते को छुपाते नहीं हैं। आपको रेजिडेंशियल प्रॉक्सी की आवश्यकता होती है ताकि आप दर सीमाओं और आईपी-आधारित ब्लॉकों से बच सकें।
प्रश्न: क्या प्ले राइट के साथ स्क्रैपिंग वैध है?
सार्वजनिक रूप से दृश्य डेटा को स्क्रैप करना सामान्यतः अनुमेय है, हालाँकि क्षेत्राधिकार भिन्न होते हैं। लक्षित साइट की सेवा की शर्तों की समीक्षा करें और अपनी विशिष्ट उपयोग के मामले के बारे में कानूनी सलाह ले लें।
प्रश्न: क्या यह बिना एआई एजेंट के चल सकता है?
हाँ, प्ले राइट कोड एंड-टू-एंड मानक स्वचालन स्क्रिप्ट के रूप में काम करता है। ब्राउज़र स्टेल्थ को लागू करने के लिए किसी एआई एजेंट की आवश्यकता नहीं है।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



