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 कनेक्शन को ब्राउज़र का परिवहन नहीं बनाता।