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 ସଂଯୋଗକୁ ବ୍ରାଉଜରର ପରିବହନ କରେ ନାହିଁ।