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