Requests-HTML 0.10.0: configurarea proxy-ului Chromium pentru render()
Configurați argumentele de lansare ale Chromium și Requests atunci când o pagină veche Requests-HTML reușește înainte de render() și eșuează după.
În Requests-HTML 0.10.0, session.get() folosește Requests, iar response.html.render() pornește Pyppeteer și de obicei navighează din nou Chromium la URL-ul paginii. Un prim răspuns reușit nu stabilește ruta browserului.
Pentru un mediu vechi compatibil existent care folosește un proxy HTTP fără autentificare:
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()
În exemplul paginii publice, lista de proxy-uri HTTP oferă candidați pentru proxy_url. browser_args este intrarea publică a constructorului sesiunii. Un dicționar proxies din Requests nu completează acele argumente Chromium.
Nici notația socks5h:// din Requests nu poate fi copiată pur și simplu în Chromium. Chromium acceptă socks5://, rezolvă numele destinațiilor SOCKS5 prin proxy și nu acceptă autentificarea SOCKS5 cu nume de utilizator și parolă.
render(reload=False) furnizează HTML-ul existent browserului în loc să navigheze la URL-ul paginii. Scripturile și subresursele pot trimite în continuare cereri. Este util când acel răspuns este redat intenționat, dar nu transformă conexiunea Requests în transportul browserului.