Requests-HTML 0.10.0: konfiguriranje Chromium proxyja za render()
Konfigurirajte argumente pokretanja Chromiuma i Requests kada stara Requests-HTML stranica uspije prije render(), a zatim ne uspije.
U Requests-HTML 0.10.0 session.get() koristi Requests, dok response.html.render() pokreće Pyppeteer i obično ponovno vodi Chromium na URL stranice. Uspješan prvi odgovor ne uspostavlja rutu preglednika.
Za postojeće kompatibilno staro okruženje s HTTP proxyjem bez autentifikacije:
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()
U primjeru javne stranice popis HTTP proxyja nudi kandidate za proxy_url. browser_args je javni ulaz konstruktora sesije. Requestsov rječnik proxies ne popunjava te Chromium argumente.
Ni Requestsov zapis socks5h:// ne može se jednostavno kopirati u Chromium. Chromium prihvaća socks5://, razrješava nazive odredišta SOCKS5 kroz proxy i ne podržava SOCKS5 autentifikaciju korisničkim imenom i lozinkom.
render(reload=False) predaje postojeći HTML pregledniku umjesto navigacije na URL stranice. Skripte i podresursi i dalje mogu slati zahtjeve. Korisno je kada se taj odgovor namjerno renderira, ali ne pretvara Requests vezu u transport preglednika.