
Anh Tuan
Data Science Expert

शायद आप सोच रहे होंगे कि BotRight का उपयोग करके कैप्चा को कैसे हल किया जाए, इसका उपयोग करके एक साधारण स्क्रेपर या इससे भी बेहतर, एक उन्नत स्क्रेपर कैसे बनाया जाए!
ठीक है, तो यह आपका ट्यूटोरियल है!
BotRight वेब स्वचालन के लिए एक उन्नत Python लाइब्रेरी है, जिसे विशेष रूप से वेबसाइटों पर बॉट पहचान प्रणालियों की बढ़ती जटिलताओं को नेविगेट करने के लिए डिज़ाइन किया गया है। बुनियादी स्वचालन टूल के विपरीत, BotRight साधारण इंटरैक्शन से परे जाता है, सूक्ष्म नियंत्रण प्रदान करके जो स्वचालित ब्राउज़िंग को अत्यधिक मानव जैसा बनाता है। मानव व्यवहार सिमुलेशन पर यह जोर वेबसाइटों तक पहुँचने के लिए महत्वपूर्ण है जो आम तौर पर बॉट को ब्लॉक या सीमित कर देती हैं।
Selenium WebDriver के शीर्ष पर निर्मित, BotRight एक उच्च-स्तरीय API प्रदान करता है जो जटिल ब्राउज़र इंटरैक्शन को सरल कमांड में सारांशित करता है, जिससे शुरुआती और उन्नत दोनों उपयोगकर्ता निम्न-स्तरीय ब्राउज़र कमांड को प्रबंधित करने की आवश्यकता के बिना परिष्कृत स्क्रेपर और स्वचालन स्क्रिप्ट विकसित कर सकते हैं। यह साधारण डेटा संग्रह से लेकर जटिल, बहु-चरण वेब कार्यों तक, जो बॉट-डिटेक्शन एल्गोरिदम के खिलाफ लचीलापन की मांग करते हैं, तक की परियोजनाओं के लिए एक उत्कृष्ट विकल्प बनाता है।
BotRight कई विशेषताएँ प्रदान करता है जो इसे स्वचालन परिदृश्य में अलग बनाती हैं:
मानव जैसी इंटरैक्शन: BotRight का डिज़ाइन वास्तविक उपयोगकर्ता क्रियाओं का अनुकरण करने पर केंद्रित है, जैसे चिकने माउस मूवमेंट, प्राकृतिक टाइपिंग पैटर्न और समय में देरी। ये व्यवहार पता लगाने के जोखिम को कम करते हैं और सामग्री तक अधिक विश्वसनीय पहुँच प्रदान करते हैं जो आम तौर पर वास्तविक उपयोगकर्ताओं तक ही सीमित होती है।
ब्राउज़र स्टेट पर्सिस्टेंस: ब्राउज़र प्रोफाइल का समर्थन करके, BotRight आपको कई स्वचालन रन में सत्र की स्थिति बनाए रखने की अनुमति देता है। यह सुविधा उन कार्यों के लिए विशेष रूप से उपयोगी है जिन्हें लॉगिन स्थिरता की आवश्यकता होती है या जहाँ विशिष्ट कुकीज़ और कैश अवस्थाओं को संरक्षित किया जाना चाहिए।
उपयोग में आसानी: अपनी उन्नत क्षमताओं के बावजूद, BotRight उल्लेखनीय रूप से उपयोगकर्ता के अनुकूल है। इसका API जटिल स्वचालन कार्यों को सुव्यवस्थित करने के लिए संरचित है, Selenium सेटअप के साथ आने वाले अधिकांश तकनीकी ओवरहेड को दूर करता है। शुरुआती जल्दी से शुरुआत कर सकते हैं, जबकि विशेषज्ञ अत्यधिक अनुकूलित समाधान बनाने के लिए BotRight की लचीलेपन का लाभ उठा सकते हैं।
जटिल वर्कफ़्लो के लिए स्केलेबिलिटी: BotRight अधिक उन्नत कार्यों के अनुकूल होता है, जिसमें AJAX-संचालित साइटों को संभालना, पेजिनेटेड डेटा एक्सट्रैक्शन का प्रबंधन करना, CAPTCHA को हल करना, और बहुत कुछ शामिल है। CapSolver जैसे CAPTCHA सॉल्वर के साथ जोड़ा गया, BotRight वर्कफ़्लो को संभाल सकता है जिसके लिए CAPTCHA बाईपास की आवश्यकता होती है, जिससे आप अत्यधिक संरक्षित वेबसाइटों को भी स्वचालित कर सकते हैं।
एकीकृत एक्सटेंशन और प्लगइन्स: BotRight स्वचालन क्षमताओं को बढ़ाने के लिए विभिन्न एक्सटेंशन और प्लगइन्स को शामिल करने का समर्थन करता है। उदाहरण के लिए, BotRight के भीतर CapSolver जैसे टूल का उपयोग करने से CAPTCHA चुनौतियों का प्रबंधन करने में मदद मिलती है, जिससे स्क्रैपिंग या स्वचालन के लिए वेबसाइटों की एक विस्तृत श्रृंखला खुल जाती है।
शुरू करने से पहले, सुनिश्चित करें कि आपके सिस्टम पर Python 3.7 या उच्चतर स्थापित है। Botright सेट अप करने के लिए इन चरणों का पालन करें:
Botright स्थापित करें:
pip install botright
वेबड्राइवर मैनेजर स्थापित करें:
Botright ब्राउज़र ड्राइवरों को प्रबंधित करने के लिए webdriver_manager पैकेज पर निर्भर करता है।
pip install webdriver-manager
स्थापना सत्यापित करें:
एक नई Python फ़ाइल बनाएँ और Botright आयात करें ताकि यह सुनिश्चित हो सके कि यह सही ढंग से स्थापित है।
from botright import Botright
यदि कोई त्रुटि नहीं होती है, तो Botright सही ढंग से स्थापित है।
आइए Botright का उपयोग करके quotes.toscrape.com से डेटा खुरचने के लिए सरल स्क्रिप्ट बनाएँ।
स्क्रिप्ट: scrape_quotes.py
from botright import Botright
def scrape_quotes():
with Botright() as bot:
bot.get("https://quotes.toscrape.com/")
quotes = bot.find_elements_by_css_selector("div.quote")
for quote in quotes:
text = quote.find_element_by_css_selector("span.text").text
author = quote.find_element_by_css_selector("small.author").text
print(f"\"{text}\" - {author}")
if __name__ == "__main__":
scrape_quotes()
स्क्रिप्ट चलाएँ:
python scrape_quotes.py
आउटपुट:
“The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.” - Albert Einstein
...
व्याख्या:
Botright को एक संदर्भ प्रबंधक के रूप में उपयोग करते हैं।bot.get() का उपयोग करके वेबसाइट पर नेविगेट करते हैं।स्क्रिप्ट: scrape_quotes_pagination.py
from botright import Botright
def scrape_all_quotes():
with Botright() as bot:
bot.get("https://quotes.toscrape.com/")
while True:
quotes = bot.find_elements_by_css_selector("div.quote")
for quote in quotes:
text = quote.find_element_by_css_selector("span.text").text
author = quote.find_element_by_css_selector("small.author").text
print(f"\"{text}\" - {author}")
# Check if there is a next page
next_button = bot.find_elements_by_css_selector('li.next > a')
if next_button:
next_button[0].click()
else:
break
if __name__ == "__main__":
scrape_all_quotes()
व्याख्या:
find_elements_by_css_selector का उपयोग करते हैं।स्क्रिप्ट: scrape_dynamic_content.py
from botright import Botright
import time
def scrape_tags():
with Botright() as bot:
bot.get("https://quotes.toscrape.com/")
# Click on the 'Top Ten tags' link to load tags dynamically
bot.click('a[href="/tag/"]')
# Wait for the dynamic content to load
time.sleep(2)
tags = bot.find_elements_by_css_selector("span.tag-item > a")
for tag in tags:
tag_name = tag.text
print(f"Tag: {tag_name}")
if __name__ == "__main__":
scrape_tags()
व्याख्या:
time.sleep() का उपयोग करके गतिशील सामग्री लोड होने की प्रतीक्षा करते हैं।स्क्रिप्ट: scrape_with_login.py
from botright import Botright
def login_and_scrape():
with Botright() as bot:
bot.get("https://quotes.toscrape.com/login")
# Fill in the login form
bot.type('input#username', 'testuser')
bot.type('input#password', 'testpass')
bot.click("input[type='submit']")
# Verify login by checking for a logout link
if bot.find_elements_by_css_selector('a[href="/logout"]'):
print("Logged in successfully!")
# Now scrape the quotes
bot.get("https://quotes.toscrape.com/")
quotes = bot.find_elements_by_css_selector("div.quote")
for quote in quotes:
text = quote.find_element_by_css_selector("span.text").text
author = quote.find_element_by_css_selector("small.author").text
print(f"\"{text}\" - {author}")
else:
print("Login failed.")
if __name__ == "__main__":
login_and_scrape()
व्याख्या:
नोट: चूँकि quotes.toscrape.com प्रदर्शन के लिए किसी भी उपयोगकर्ता नाम और पासवर्ड की अनुमति देता है, हम डमी क्रेडेंशियल का उपयोग कर सकते हैं।
जबकि quotes.toscrape.com में CAPTCHA नहीं है, कई वास्तविक दुनिया की वेबसाइटों में ऐसा है। ऐसे मामलों के लिए तैयार होने के लिए, हम CapSolver ब्राउज़र एक्सटेंशन का उपयोग करके Botright स्क्रिप्ट में CapSolver को एकीकृत करने का प्रदर्शन करेंगे।
एक्सटेंशन डाउनलोड करें:
capsolver-chrome-extension-v0.2.3.zip।./capsolver_extension।config.json का पता लगाएँ:
capsolver_extension/assets/config.jsonconfig.json संपादित करें:
{
"apiKey": "YOUR_CAPSOLVER_API_KEY",
"enabledForcaptcha": true,
"captchaMode": "token",
"enabledForRecaptchaV2": true,
"reCaptchaV2Mode": "token",
"solveInvisibleRecaptcha": true,
"verbose": false
}
"YOUR_CAPSOLVER_API_KEY" को अपनी वास्तविक CapSolver API कुंजी से बदलें।enabledForcaptcha और/या enabledForRecaptchaV2 को true पर सेट करें।"token" पर सेट करें।Botright में CapSolver एक्सटेंशन का उपयोग करने के लिए, हमें ब्राउज़र को शुरू होने पर एक्सटेंशन लोड करने के लिए कॉन्फ़िगर करना होगा।
नोट: Botright आपको ब्राउज़र विकल्पों को अनुकूलित करने की अनुमति देता है, जिसमें एक्सटेंशन जोड़ना भी शामिल है।
संशोधित स्क्रिप्ट:
from botright import Botright
from selenium.webdriver.chrome.options import Options
import os
def create_bot_with_capsolver():
# Path to the CapSolver extension folder
extension_path = os.path.abspath('capsolver_extension')
# Configure Chrome options
options = Options()
options.add_argument(f"--load-extension={extension_path}")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
# Initialize Botright with custom options
bot = Botright(options=options)
return bot
व्याख्या:
Options आयात करें:
selenium.webdriver.chrome.options से, Chrome विकल्प सेट करने के लिए।options.add_argument() का उपयोग करें।Botright का उदाहरण बनाते समय options को पास करें।हम Google के reCAPTCHA डेमो जैसी reCAPTCHA वाली साइट पर नेविगेट करके एकीकरण का प्रदर्शन करेंगे।
स्क्रिप्ट: scrape_with_capsolver_extension.py
from botright import Botright
from selenium.webdriver.chrome.options import Options
import os
import time
def solve_captcha_and_scrape():
# Path to the CapSolver extension folder
extension_path = os.path.abspath('capsolver_extension')
# Configure Chrome options
options = Options()
options.add_argument(f"--load-extension={extension_path}")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
# Initialize Botright with custom options
with Botright(options=options) as bot:
bot.get("https://www.google.com/recaptcha/api2/demo")
# Wait for the CAPTCHA to be solved by CapSolver
print("Waiting for CAPTCHA to be solved...")
# Adjust sleep time based on average solving time
time.sleep(15)
# Verify if CAPTCHA is solved by checking the page content
if "Verification Success" in bot.page_source:
print("CAPTCHA solved successfully!")
else:
print("CAPTCHA not solved yet or failed.")
if __name__ == "__main__":
solve_captcha_and_scrape()
व्याख्या:
Botright इंस्टेंस बनाते समय options पास करें।bot.get() का उपयोग करें।time.sleep() का उपयोग करें; समय को आवश्यकतानुसार समायोजित करें।महत्वपूर्ण नोट्स:
extension_path आपके CapSolver एक्सटेंशन फ़ोल्डर को सही ढंग से इंगित करता है।time.sleep() को आवश्यकतानुसार समायोजित करें।options पास करने से ड्राइवर अनुकूलित होता है।स्क्रिप्ट चलाना:
python scrape_with_capsolver_extension.py
CapSolver पर शीर्ष कैप्चा समाधान के लिए अपना बोनस कोड क्लेम करें: scrape। इसे रिडीम करने के बाद, आपको प्रत्येक रिचार्ज के बाद, असीमित बार 5% अतिरिक्त बोनस मिलेगा।

CapSolver ब्राउज़र एक्सटेंशन का उपयोग करके Botright में CapSolver को एकीकृत करके, आप अपनी वेब स्क्रैपिंग परियोजनाओं में CAPTCHA समाधान को स्वचालित कर सकते हैं। यह CAPTCHA द्वारा संरक्षित साइटों से भी निर्बाध डेटा निष्कर्षण सुनिश्चित करता है।
मुख्य takeaways:
जानें कि क्लाउडफ़्लेयर एरर 1020 एक्सेस अस्वीकृत के क्या कारण होते हैं, कैसे वेब एप्लिकेशन फ़ायरवॉल और बॉट डिटेक्शन काम करते हैं, और विकासकर्ता कैसे वैध स्वचालन प्रक्रियाओं में गलत सकारात्मकों को कम कर सकते हैं।

सीखें कैसे कैपसॉल्वर n8n टेम्पलेट का उपयोग AWS WAF-सुरक्षित उत्पाद पृष्ठों को मॉनिटर करने, चुनौतियां हल करने, मूल्य निकालने, परिवर्तनों की तुलना करने और स्वचालित रूप से चेतावनियां ट्रिगर करने के लिए करें।
