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 அமைப்பில் நோக்கமான தொகுப்பை வழங்கவும்.