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 연결을 브라우저의 전송 경로로 바꾸지는 않습니다.