
Lucas Mitchell
Automation Engineer

सेलेनियम में यूजर एजेंट बदलना बहुत महत्वपूर्ण चरण है। यह एक नियमित ब्राउज़र के रूप में एक ऑटोमेशन स्क्रिप्ट को छिपाने में मदद करता है, इस प्रकार वेबसाइटों द्वारा डिटेक्शन से बचाता है। यह गाइड आपको सीएसएस ब्राउज़र यूजर एजेंट के बदलाव के चरणों के साथ-साथ वेब स्क्रैपिंग कार्य करने के लिए बेस्ट प्रैक्टिस के बारे में बताएगा।
सामग्री का सूचकांक
- सेलेनियम यूजर-एजेंट की समझ
- सेलेनियम में डिफ़ॉल्ट यूजर-एजेंट
- यूजर-एजेंट बदलने के कारण?
a. गूगल क्रोम सेलेनियम में यूजर-एजेंट बदलें
b. फायरफॉक्स सेलेनियम में यूजर-एजेंट बदलें- सुचारू वेबसाइट पहुंच के लिए बेस्ट प्रैक्टिस
- निष्कर्ष
यूजर-एजेंट स्ट्रिंग एचटीटीपी हेडर्स का एक महत्वपूर्ण हिस्सा है जो ब्राउज़र और वेब सर्वर के बीच संचार में महत्वपूर्ण भूमिका निभाता है। यह ब्राउज़र, ऑपरेटिंग सिस्टम और उपकरण के बारे में विशिष्ट जानकारी प्रदान करता है। एक व्यापक यूजर-एजेंट स्ट्रिंग का उदाहरण नीचे दिया गया है:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
इस स्ट्रिंग द्वारा यह बताया जाता है कि अनुरोध एक विंडोज ऑपरेटिंग सिस्टम पर चल रहे क्रोम ब्राउज़र से आ रहा है।
हालांकि, सेलेनियम का उपयोग वेब ऑटोमेशन के लिए करते समय, डिफ़ॉल्ट यूजर-एजेंट स्ट्रिंग यह बता सकता है कि अनुरोध एक ऑटोमेशन स्क्रिप्ट से आ रहे हैं। बॉट-विरोधी उपायों से लैस वेबसाइटें इसे आसानी से डिटेक्ट कर सकती हैं और ऑटोमेशन स्क्रैपिंग या परीक्षण के बाद अक्सर ब्लॉक कर देती हैं। इसके कारण, सेलेनियम में यूजर-एजेंट स्ट्रिंग के अनुकूलन के लिए आवश्यकता होती है, जिससे अनुरोध वास्तविक ब्राउज़र के रूप में दिखाई दे, इस प्रकार डिटेक्शन और ब्लॉकिंग के जोखिम को कम कर देता है।
इसे प्राप्त करने के लिए, आप सेलेनियम में यूजर-एजेंट स्ट्रिंग को मानक ब्राउज़र के साथ मेल खाते हुए बदल सकते हैं, जिससे आपके ऑटोमेटेड स्क्रिप्ट की छिपाने और प्रभावशालीता में सुधार होता है।
हाँ, सेलेनियम एचटीटीपी अनुरोध करते समय अपने यूजर-एजेंट स्ट्रिंग का उपयोग करता है। डिफ़ॉल्ट रूप से, सेलेनियम ब्राउज़र के यूजर-एजेंट स्ट्रिंग का उपयोग करता है जिसे यह ऑटोमेट कर रहा है। इसका अर्थ है कि जब आप क्रोम ड्राइवर के साथ सेलेनियम स्क्रिप्ट चलाते हैं, तो यूजर-एजेंट स्ट्रिंग डिफ़ॉल्ट क्रोम यूजर-एजेंट के अनुरूप होता है।
हालांकि, डिफ़ॉल्ट यूजर-एजेंट अक्सर वेब सर्वर को बता सकता है कि अनुरोध एक ऑटोमेशन स्क्रिप्ट से आ रहे हैं, जिससे आपके सेलेनियम-आधारित ऑपरेशन बॉट-विरोधी प्रणालियों द्वारा डिटेक्ट किए जा सकते हैं। यूजर-एजेंट स्ट्रिंग के अनुकूलन के साथ इस समस्या को कम कर सकते हैं, जिससे आपके स्क्रिप्ट नियमित ब्राउज़र ट्रैफिक के साथ अधिक बराबर दिखाई दे सकते हैं।
CapSolver बोनस कोड के लिए बोनस लें
अपने ऑटोमेशन बजट को तुरंत बढ़ाएं!
CapSolver खाता बोनस कोड CAPN के साथ भरें ताकि प्रत्येक भरोसा पर 5% बोनस प्राप्त करें — कोई सीमा नहीं है।
अब अपने CapSolver डैशबोर्ड में बोनस कोड लागू करें
जैसा कि पहले बताया गया है, यूजर-एजेंट फ़ील्ड ब्राउज़र प्रकार, संस्करण, इंजन और ऑपरेटिंग सिस्टम के बारे में जानकारी रखता है। यदि लक्ष्य वेबसाइट के पास एक छोटे समय अंतराल में एक ही यूजर-एजेंट से कई अनुरोध प्राप्त होते हैं, तो इसका कारण हो सकता है कि वेबसाइट के संचालक अनुरोध के लिए एक ही उपयोगकर्ता या एक बॉट के अनुरोध के बारे में संदेह कर सकते हैं। फिर, वेबसाइट प्रबंधक इस विशिष्ट यूजर-एजेंट से अनुरोध को अस्थायी रूप से ब्लॉक कर सकते हैं। विशेष रूप से, जब बड़ी मात्रा में डेटा का स्क्रैपिंग करना आवश्यक होता है, तो विभिन्न उपयोगकर्ताओं के रूप में यूजर-एजेंट के बदलाव के बिना अनुरोध करना आवश्यक होता है। इससे आपके स्क्रैपिंग प्रयासों की सफलता दर में महत्वपूर्ण रूप से वृद्धि हो सकती है।
यदि आपने स्थानीय रूप से सेलेनियम लाइब्रेरी स्थापित नहीं की है, तो आप निम्नलिखित आदेश का उपयोग कर सकते हैं:
pip install selenium
लाइब्रेरी आयात करें:
from selenium import webdriver
फिर एक क्रोम विकल्प वस्तु के निर्माण और एक कस्टम यूजर-एजेंट सेट करें:
custom_user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--user-agent={custom_user_agent}')
अगला, क्रोम ड्राइवर के नए उदाहरण बनाएं और लक्ष्य वेबसाइट पर अनुरोध करें:
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://httpbin.org/user-agent")
HTTPBin एक वेब अनुरोध डिबगिंग सेवा है जो अनुरोध के यूजर-एजेंट को दिखाता है। यदि कोड सही है, तो आप नीचे दिए गए चित्र में दिखाए गए अनुसार अपना कस्टम यूजर-एजेंट देखेंगे:

ऊपर के कोड में, custom_user_agent मान स्थैतिक है। यदि आप ब्राउज़र खोलते समय हर बार अलग-अलग यूजर-एजेंट का उपयोग करना चाहते हैं, तो आप विभिन्न यूजर-एजेंट स्ट्रिंग एकत्र कर सकते हैं और उन्हें एक सूची में संग्रहीत कर सकते हैं। फिर, हर बार सूची से एक मान यादृच्छिक रूप से चुनें। या, आप fake-useragent लाइब्रेरी का उपयोग कर सकते हैं, जो तेजी से यादृच्छिक यूजर-एजेंट स्ट्रिंग बनाने का एक सरल तरीका प्रदान करता है। लाइब्रेरी के साथ निम्न आदेश का उपयोग करें:
pip install fake-useragent
fake-useragent का उपयोग आसान है:
from fake_useragent import UserAgent
ua = UserAgent()
# एक यादृच्छिक ब्राउज़र यूजर-एजेंट स्ट्रिंग प्राप्त करें
print(ua.random)
# एक विशिष्ट ब्राउज़र से यूजर-एजेंट स्ट्रिंग प्राप्त करें
print(ua.chrome)
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
print(ua.firefox)
# Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
print(ua.safari)
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15
सेलेनियम के साथ जोड़े जाने पर, पूरा कोड नीचे दिया गया है:
import time
from selenium import webdriver
from fake_useragent import UserAgent
ua = UserAgent()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--user-agent={ua.random}')
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://httpbin.org/user-agent")
time.sleep(10)
driver.quit()
इस सेटअप के साथ, हम सेलेनियम-चालित गूगल क्रोम में यूजर-एजेंट के यादृच्छिक रूप से उपयोग कर सकते हैं।
सेलेनियम केवल गूगल क्रोम के साथ नहीं बल्कि फायरफॉक्स के साथ भी चलाया जा सकता है। अंतर केवल webdriver.ChromeOptions() के स्थान पर webdriver.FirefoxOptions() का उपयोग करना है। नीचे पूरा कोड दिया गया है:
import time
from selenium import webdriver
from fake_useragent import UserAgent
ua = UserAgent()
firefox_options = webdriver.FirefoxOptions()
firefox_options.add_argument(f'--user-agent={ua.random}')
driver = webdriver.Firefox(options=firefox_options)
driver.get("https://httpbin.org/user-agent")
time.sleep(10)
driver.quit()
आप देख सकते हैं कि वेबपेज पर यूजर-एजेंट सफलतापूर्वक बदल गया है:

यूजर-एजेंट बदलने का उद्देश्य लक्ष्य वेबसाइट के द्वारा हमारे एक्सेस को ब्लॉक करना रोकना है। यूजर-एजेंट पर आधारित ब्लॉकिंग केवल बॉट डिटेक्शन और बॉट विरोधी उपायों के एक विकल्प है। अधिक सामान्य रूप से, वेबसाइटें बॉट को फ़िल्टर करने के लिए CAPTCHA (जैसे recaptcha आदि) जैसे चुनौतियां लगाती हैं। इन चुनौतियां अक्सर जटिल होती हैं और वेबसाइट पर पहुंच के लिए बाधा डालती हैं।
CapSolver सेवाओं का उपयोग आपको CAPTCHA चुनौतियां हल करने में मदद कर सकता है। यदि आप लक्ष्य वेबसाइट पर एपीआई अनुरोध कर रहे हैं और CAPTCHA चुनौतियां सामना कर रहे हैं, तो आप Capsolver के टास्क एपीआई का उपयोग कर सकते हैं, जो विभिन्न चुनौतियां हल करता है और आपको सही टोकन वापस करता है।
यदि आप सेलेनियम जैसे ऑटोमेशन टूल का उपयोग कर रहे हैं, तो आप गूगल क्रोम और फायरफॉक्स जैसे ब्राउज़र में Capsolver के एक्सटेंशन को सुगमता से एम्बेड कर सकते हैं। इस एम्बेडिंग आपकी क्षमता को बढ़ाता है और वेबसाइट पर अधिक सुचारू अनुभव प्रदान करता है।
इस लेख के साथ आप सेलेनियम में यूजर-एजेंट अनुकूलन के बारे में अच्छी समझ प्राप्त कर सकते हैं। इससे आप वेब स्क्रैपिंग कार्य के लिए छिपाने और विश्वसनीयता में सुधार कर सकते हैं, और विभिन्न वेबसाइटों के साथ सुचारू अंतःक्रिया सुनिश्चित कर सकते हैं। चाहे आप CAPTCHA चुनौतियां का सामना कर रहे हों या उपयोगकर्ता व्यवहार का अनुकरण कर रहे हों, यूजर-एजेंट के रणनीतिक रूप से बदलाव एक खेल बदल सकता है। और याद रखें, CapSolver के साथ, वेब डेटा एक्सेस के बाधाओं को दूर करना न केवल संभव है, बल्कि इसे दक्ष भी किया जा सकता है। आजकल के डायनामिक डिजिटल परिदृश्य में, इन अभ्यास के अपनाना आपके ऑटोमेशन परियोजनाओं की दक्षता बढ़ा सकता है और वेब स्क्रैपिंग के लाभ को अधिकतम कर सकता है!
यूजर-एजेंट बदलना आपके सेलेनियम स्क्रिप्ट को एक वास्तविक मानव ब्राउज़र के रूप में दिखाने में मदद करता है बजाय ऑटोमेशन टूल के। बहुत सारी वेबसाइटें ऑटोमेशन के बारे में डिफ़ॉल्ट यूजर-एजेंट जांच करके डिटेक्ट कर सकती हैं और त्रुटि दिखा सकती हैं, अनुरोध को धीमा कर सकती हैं या CAPTCHA चुनौतियां उत्पन्न कर सकती हैं। अनुकूलित यूजर-एजेंट छिपाने और ब्लॉकिंग को कम करने में सहायता करता है।
हां। आप विभिन्न यूजर-एजेंट के एक सूची बना सकते हैं और प्रत्येक सत्र के लिए एक यादृच्छिक चुन सकते हैं, या fake-useragent लाइब्रेरी का उपयोग करके यादृच्छिक ब्राउज़र पहचान बना सकते हैं। यूजर-एजेंट घूमाना बड़े पैमाने पर स्क्रैपिंग कार्य के लिए विशेष रूप से उपयोगी होता है।
पूरी तरह से नहीं। यूजर-एजेंट बदलना बॉट डिटेक्शन से बचने के एक हिस्सा के रूप में काम करता है। वेबसाइटें कुकीज, IP प्रतिष्ठा, अनुरोध गति, व्यवहार और CAPTCHA चुनौतियां भी ट्रैक करती हैं। CapSolver जैसे CAPTCHA-हल करने वाले सेवाओं के साथ सेलेनियम के एक साथ जोड़ना अधिकतर एक्सेस बरकरार रखने में मदद कर सकता है।
ड्राइवर चलाने के बाद https://httpbin.org/user-agent वेबसाइट पर जाएं। वेबपेज आपके सेलेनियम ब्राउज़र द्वारा उपयोग किया गया वर्तमान यूजर-एजेंट दिखाता है — यदि आपका कस्टम मान दिखाई देता है, तो विन्यास सफल है।
हां। क्रोम के लिए आप webdriver.ChromeOptions() का उपयोग करते हैं, और फायरफॉक्स के लिए webdriver.FirefoxOptions() का उपयोग करते हैं। यूजर-एजेंट अर्गुमेंट को विकल्प वस्तु में जोड़ें, फिर ड्राइवर इनिशियलाइज करते समय इसे पास करें।
यह आम बात है — आधुनिक वेबसाइटें यूजर-एजेंट डिटेक्शन के बाद भी निर्भर करती हैं। यदि CAPTCHA चुनौतियां बार-बार दिखाई देती हैं, तो आप CapSolver के API या ब्राउज़र एक्सटेंशन के माध्यम से इन्हें स्वचालित रूप से हल कर सकते हैं, जिससे ऑटोमेशन फ्लो बेहतर हो जाता है और बाधाओं से बचा जा सकता है।
CAPTCHA के जटिल कार्यक्रमों का अन्वेषण करें: मनुष्य-बॉट अंतर, कृत्रिम बुद्धिमता प्रशिक्षण की भूमिकाएं, reCAPTCHA तकनीक, सुरक्षा और कृत्रिम बुद्धिमता के विकास के मिश्रण को खोलकर दिखाना

कैपसॉल्वर की खोज करें: एक एआई-आधारित सेवा जो किसी भी कैपचा को आसानी से हल करे, reCAPTCHA से hCaptcha तक, लचीली कीमतों और विश्वसनीय प्रदर्शन के साथ
