Στο 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 σε μεταφορέα του προγράμματος περιήγησης.

Σχετικά άρθρα