Το middleware διακομιστή μεσολάβησης HTTP του Scrapy διαβάζει έναν διακομιστή μεσολάβησης από τα μεταδεδομένα του αιτήματος:

yield scrapy.Request(
    'https://example.com/',
    callback=self.parse,
    meta={'proxy': 'http://203.0.113.10:8080'},
)

Αντικαταστήστε το τελικό σημείο της τεκμηρίωσης και κρατήστε το middleware ενεργό. Η λίστα διακομιστών μεσολάβησης HTTP προσφέρει δημόσιους υποψηφίους για το URL αυτού του αιτήματος. Αυτό επιλέγει τη διαδρομή του αιτήματος· μια δεξαμενή μεσολαβητών χρειάζεται ξεχωριστή λογική επιλογής.

Ο έλεγχος ταυτότητας ακολουθεί το επιλεγμένο τελικό σημείο

Το ενσωματωμένο middleware χειρίζεται διαπιστευτήρια που παρέχονται μέσω του υποστηριζόμενου URL μεσολάβησης και της σχετικής κεφαλίδας εξουσιοδότησης. Διαφύγετε τους δεσμευμένους χαρακτήρες URL και αποφύγετε την καταγραφή αυτού του URL.

Ένα ξεχωριστό middleware δεν πρέπει να διατηρεί κεφαλίδα Basic για τον προηγούμενο μεσολαβητή αφού αλλάξει το τελικό σημείο. Αφήστε ένα επίπεδο να διαχειρίζεται τη διαδρομή και τα διαπιστευτήριά της μαζί.

Σειρά επιλογής και προεπιλογές

Αν ένα προσαρμοσμένο middleware λήψης επιλέγει τον μεσολαβητή, εκτελέστε το πριν το ενσωματωμένο middleware μεσολάβησης επεξεργαστεί το αίτημα. Ελέγξτε τη σειρά και το API της εγκατεστημένης έκδοσης· οι παρωχημένες εισαγωγές scrapy.contrib ανήκουν σε παλαιότερες εκδόσεις.

Το περιβάλλον της διεργασίας μπορεί επίσης να παρέχει προεπιλογές ανά σχήμα. Για ένα σκόπιμα άμεσο αίτημα, χρησιμοποιήστε την τεκμηριωμένη ειδική συμπεριφορά των μεταδεδομένων proxy: ένα απόν κλειδί δεν σημαίνει απαραίτητα άμεση πρόσβαση.

Εξετάστε το πραγματικό αποτέλεσμα. Ένα 407 αφορά τον έλεγχο ταυτότητας του μεσολαβητή, ενώ ένα όριο ρυθμού ή άρνηση πρόσβασης του ιστότοπου μπορεί να έρθει αφού η διαδρομή λειτούργησε σωστά.

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