Requests-HTML 0.10.0 : configurer le proxy Chromium pour render()
Configurez les arguments de lancement de Chromium ainsi que Requests lorsqu'une ancienne page Requests-HTML réussit avant render() et échoue ensuite.
Dans Requests-HTML 0.10.0, session.get() utilise Requests, tandis que response.html.render() démarre Pyppeteer et renvoie normalement Chromium vers l'URL de la page. Une première réponse réussie n'établit pas la route du navigateur.
Pour un environnement ancien compatible existant qui utilise un proxy HTTP sans authentification :
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()
Dans l'exemple de page publique, la liste de proxys HTTP fournit des candidats pour proxy_url. browser_args est l'entrée publique du constructeur de la session. Un dictionnaire proxies de Requests ne remplit pas ces arguments de Chromium.
La notation socks5h:// de Requests ne peut pas non plus être recopiée telle quelle dans Chromium. Chromium accepte socks5://, résout les noms de destination SOCKS5 via le proxy et ne prend pas en charge l'authentification SOCKS5 par nom d'utilisateur et mot de passe.
render(reload=False) fournit le HTML existant au navigateur au lieu de naviguer vers l'URL de la page. Les scripts et les sous-ressources peuvent toujours émettre des requêtes. C'est utile pour rendre délibérément cette réponse, mais cela ne transforme pas la connexion Requests en transport du navigateur.