Trong Requests-HTML 0.10.0, session.get() dùng Requests, còn response.html.render() khởi động Pyppeteer và thường điều hướng Chromium đến URL của trang một lần nữa. Phản hồi đầu tiên thành công không thiết lập tuyến đường của trình duyệt.

Đối với môi trường cũ tương thích hiện có dùng proxy HTTP không cần xác thực:

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()

Trong ví dụ trang công khai, danh sách proxy HTTP cung cấp các ứng viên cho proxy_url. browser_args là đầu vào hàm khởi tạo công khai của phiên. Từ điển proxies của Requests không điền các đối số Chromium đó.

Cách viết socks5h:// của Requests cũng không thể sao chép thẳng vào Chromium. Chromium chấp nhận socks5://, phân giải tên đích SOCKS5 qua proxy và không hỗ trợ xác thực SOCKS5 bằng tên người dùng/mật khẩu.

render(reload=False) cung cấp HTML hiện có cho trình duyệt thay vì điều hướng đến URL của trang. Script và tài nguyên con vẫn có thể gửi yêu cầu. Nó hữu ích khi cố ý hiển thị phản hồi đó, nhưng không biến kết nối Requests thành phương tiện truyền tải của trình duyệt.

Bài viết liên quan