Во 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 во транспорт на прелистувачот.

Поврзани статии