Requests-HTML 0.10.0: конфигурирање на прокси за Chromium за render()
Конфигурирајте ги аргументите за стартување на Chromium и Requests кога стара страница на Requests-HTML успева пред render() и не успева потоа.
Во 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 е јавниот влез на конструкторот на сесијата. Речникот proxies на Requests не ги пополнува тие аргументи на Chromium.
Ниту записот socks5h:// на Requests не може едноставно да се копира во Chromium. Chromium прифаќа socks5://, ги решава имињата на дестинациите SOCKS5 преку проксито и не поддржува автентикација на SOCKS5 со корисничко име и лозинка.
render(reload=False) го доставува постоечкиот HTML до прелистувачот наместо да навигира до URL-то на страницата. Скриптите и подресурсите сè уште можат да испраќаат барања. Тоа е корисно кога свесно се рендерира тој одговор, но не ја претвора врската на Requests во транспорт на прелистувачот.