Requests-HTML 0.10.0: render() നായി Chromium പ്രോക്സി ക്രമീകരിക്കുക
പഴയ Requests-HTML പേജ് render() ന് മുമ്പ് വിജയിക്കുകയും ശേഷം പരാജയപ്പെടുകയും ചെയ്യുമ്പോൾ Chromium ലോഞ്ച് ആർഗ്യുമെന്റുകളും Requests ഉം ക്രമീകരിക്കുക.
Requests-HTML 0.10.0 ൽ session.get() Requests ഉപയോഗിക്കുന്നു, എന്നാൽ response.html.render() Pyppeteer സമാരംഭിച്ച് സാധാരണയായി Chromium നെ വീണ്ടും പേജിന്റെ URL ലേക്ക് നയിക്കുന്നു. വിജയകരമായ ആദ്യ പ്രതികരണം ബ്രൗസറിന്റെ പാത സ്ഥാപിക്കുന്നില്ല.
ഓതന്റിക്കേഷൻ ഇല്ലാത്ത HTTP പ്രോക്സി ഉപയോഗിക്കുന്ന നിലവിലുള്ള അനുയോജ്യമായ പഴയ പരിതസ്ഥിതിക്കായി:
from requests_html import HTMLSession
proxy_url = 'http://proxy.example:8080'
session = HTMLSession(browser_args=[
'--proxy-server=' + proxy_url,
])
try:
response = session.get(
'https://www.example.org/',
proxies={'https': proxy_url},
timeout=20,
)
response.html.render(timeout=20)
rendered = response.html.html
finally:
session.close()
പൊതു പേജ് ഉദാഹരണത്തിൽ, HTTP പ്രോക്സി പട്ടിക proxy_url നായി സ്ഥാനാർത്ഥികൾ നൽകുന്നു. browser_args സെഷന്റെ പൊതു കൺസ്ട്രക്ടർ ഇൻപുട്ടാണ്. Requests ന്റെ proxies നിഘണ്ടു ആ Chromium ആർഗ്യുമെന്റുകൾ നിറയ്ക്കുന്നില്ല.
Requests ന്റെ socks5h:// രൂപവും Chromium ലേക്ക് നേരിട്ട് പകർത്താനാവില്ല. Chromium socks5:// സ്വീകരിക്കുന്നു, SOCKS5 ലക്ഷ്യനാമങ്ങൾ പ്രോക്സി വഴി പരിഹരിക്കുന്നു, SOCKS5 ഉപയോക്തൃനാമം/പാസ്വേഡ് ഓതന്റിക്കേഷൻ പിന്തുണയ്ക്കുന്നില്ല.
render(reload=False) പേജിന്റെ URL ലേക്ക് പോകുന്നതിന് പകരം നിലവിലുള്ള HTML ബ്രൗസറിന് നൽകുന്നു. സ്ക്രിപ്റ്റുകൾക്കും ഉപവിഭവങ്ങൾക്കും ഇപ്പോഴും അഭ്യർത്ഥനകൾ അയക്കാം. ആ പ്രതികരണം ബോധപൂർവം റെൻഡർ ചെയ്യുമ്പോൾ ഇത് ഉപകരിക്കുന്നു, പക്ഷേ Requests കണക്ഷനെ ബ്രൗസറിന്റെ വാഹകനാക്കി മാറ്റുന്നില്ല.