Ένα proxy για μία λήψη στο Scrapy shell
Χρησιμοποιήστε τα μεταδεδομένα proxy ενός Request μέσα στο Scrapy shell και εξετάστε την απόκριση από αυτό το διαμορφωμένο αίτημα.
Μέσα στο Scrapy shell, κατασκευάστε το αίτημα που θέλετε να εκτελέσει ο λήπτης:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
Το HttpProxyMiddleware διαβάζει την τιμή proxy από τα μεταδεδομένα αυτού του Request. Πρέπει να είναι ενεργοποιημένο στη διαμόρφωση του ενεργού middleware λήψης. Η μεταβλητή response στη συνέχεια ανήκει σε αυτή τη λήψη. Για αυτό το δημόσιο URL, επιλέξτε μια διεύθυνση HTTP χωρίς έλεγχο ταυτότητας από τη λίστα proxy HTTP, εάν επιτρέπονται δημόσιοι μεσάζοντες, και στη συνέχεια τοποθετήστε το URL της στα μεταδεδομένα proxy αυτού του αιτήματος.
Η εκκίνηση του shell από το έργο Scrapy του επιτρέπει να φορτώσει τη διαμόρφωση αυτού του έργου. Αυτό επιλέγει middleware και άλλες ρυθμίσεις· δεν επιλέγει το ίδιο ένα συγκεκριμένο τελικό σημείο proxy. Τα μεταδεδομένα αιτήματος παραπάνω παρέχουν αυτή την επιλογή άμεσα.
Για ένα proxy που χρησιμοποιεί διαπιστευτήρια Basic, το Scrapy τεκμηριώνει τις πληροφορίες χρήστη στο URL του proxy. Κωδικοποιήστε τους δεσμευμένους χαρακτήρες στα τμήματα του λογαριασμού πριν το κατασκευάσετε. Δεν χρειάζεται να προσθέσετε κεφαλίδα Authorization του ιστότοπου για αυτόν τον λογαριασμό.
Το Scrapy μπορεί επίσης να ανακαλύψει proxy από τις υποστηριζόμενες μεταβλητές περιβάλλοντος. Τα ρητά μεταδεδομένα proxy ενός αιτήματος έχουν προτεραιότητα. Για ένα σκόπιμα άμεσο αίτημα, η τιμή proxy None απενεργοποιεί την επιλογή αυτού του middleware με βάση το περιβάλλον για το αίτημα.