Requests-HTML 0.10.0: render() için Chromium proxy'sini yapılandırma
Eski bir Requests-HTML sayfası render() öncesinde başarılı olup sonrasında başarısız olduğunda Chromium başlatma argümanlarını ve Requests'i birlikte yapılandırın.
Requests-HTML 0.10.0'da session.get() Requests kullanır; response.html.render() ise Pyppeteer'i başlatır ve genellikle Chromium'u yeniden sayfanın URL'sine yönlendirir. Başarılı ilk yanıt tarayıcının rotasını kurmaz.
Kimlik doğrulaması olmayan bir HTTP proxy'si kullanan mevcut uyumlu eski bir ortam için:
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()
Genel sayfa örneğinde HTTP proxy listesi proxy_url için adaylar sunar. browser_args oturumun genel kurucu girdisidir. Requests'in proxies sözlüğü bu Chromium argümanlarını doldurmaz.
Requests'in socks5h:// yazımı da doğrudan Chromium'a kopyalanamaz. Chromium socks5:// biçimini kabul eder, SOCKS5 hedef adlarını proxy üzerinden çözer ve SOCKS5 kullanıcı adı/parola kimlik doğrulamasını desteklemez.
render(reload=False) sayfanın URL'sine gitmek yerine mevcut HTML'i tarayıcıya verir. Betikler ve alt kaynaklar yine de istek gönderebilir. Bu yanıt bilerek işlendiğinde kullanışlıdır, ancak Requests bağlantısını tarayıcının taşıma katmanına dönüştürmez.