Python webdriver-manager ഡൗൺലോഡുകൾക്കായി പ്രോക്സി കോൺഫിഗർ ചെയ്യുക
തിരികെ നൽകിയ driver path ഉപയോഗിക്കുന്നതിന് മുമ്പ് WDMDownloadManager വഴി Python webdriver-manager-ന് പ്രോക്സി അറിയാവുന്ന HttpClient നൽകുക.
Chrome-ന്റെ --proxy-server ആർഗ്യുമെന്റ് ബ്രൗസർ ആരംഭിച്ചതിന് ശേഷം മാത്രമേ പ്രാബല്യത്തിൽ വരികയുള്ളൂ. അനുയോജ്യമായ ഡ്രൈവർ കണ്ടെത്തി അതിന്റെ ആർക്കൈവ് ഡൗൺലോഡ് ചെയ്യുമ്പോൾ webdriver-manager-ന് നേരത്തെ പ്രോക്സി ആവശ്യമായേക്കാം.
import requests
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.download_manager import WDMDownloadManager
from webdriver_manager.core.http import HttpClient
class ProxyHttpClient(HttpClient):
def __init__(self, session):
self.session = session
def get(self, url, params=None, **kwargs):
kwargs.setdefault('timeout', 30)
response = self.session.get(url, params=params, **kwargs)
self.validate_response(response)
return response
with requests.Session() as session:
session.trust_env = False
session.proxies.update({
'http': 'http://proxy.example:8080',
'https': 'http://proxy.example:8080',
})
downloader = WDMDownloadManager(ProxyHttpClient(session))
driver_path = ChromeDriverManager(download_manager=downloader).install()
ഈ ഭാഗം നിലവിലുള്ള webdriver-manager, Requests ആശ്രിതത്വങ്ങൾ അനുമാനിക്കുന്നു. തിരഞ്ഞെടുത്ത പ്രോക്സി ലിസണർ രണ്ട് ലക്ഷ്യ സ്കീമുകൾക്കും HTTP ആണ്. അനുവദനീയമായ പൊതു ഡ്രൈവർ ഡൗൺലോഡുകൾക്കായി HTTP പ്രോക്സി പട്ടിക സെഷന്റെ പ്രോക്സി URL-കൾക്ക് സ്ഥാനാർത്ഥികൾ നൽകുന്നു. മാനേജറുടെ ഇൻസ്റ്റാളേഷനോ കാഷെ തിരയലോ പൂർത്തിയാകുന്നതുവരെ Session സജീവമായി നിലനിർത്തുക, തുടർന്ന് driver_path ആപ്ലിക്കേഷന്റെ സാധാരണ Selenium സേവന സജ്ജീകരണത്തിന് നൽകുക.
ഇഷ്ടാനുസൃത get രീതി മാനേജറുടെ അധിക HTTP ആർഗ്യുമെന്റുകൾ സ്വീകരിക്കുകയും പ്രതികരണ സാധുത പരിശോധന നിലനിർത്തുകയും ചെയ്യുന്നു. പ്രോക്സി തിരഞ്ഞെടുപ്പ് ഡൗൺലോഡ് ക്ലയന്റിന്റേതാണ്; നാവിഗേഷനും പ്രോക്സി ആവശ്യമെങ്കിൽ Chrome വെവ്വേറെ കോൺഫിഗർ ചെയ്യുക.
trust_env=False ഈ Session-ന്റെ കോൺഫിഗറേഷൻ വ്യക്തമാക്കുന്നു, പരിസ്ഥിതിയിൽ നിന്നുള്ള CA ബണ്ടിൽ തിരഞ്ഞെടുപ്പ് പ്രവർത്തനരഹിതമാക്കുന്നത് ഉൾപ്പെടെ. ഡൗൺലോഡ് പാതയ്ക്ക് ഓർഗനൈസേഷൻ CA ആവശ്യമെങ്കിൽ, സർട്ടിഫിക്കറ്റ് പരിശോധനകൾ നിലനിർത്തി ഈ Session-ന്റെ verify ക്രമീകരണത്തിൽ ഉദ്ദേശിച്ച ബണ്ടിൽ നൽകുക.