Ένα αίτημα Scrapy μπορεί να φτάσει με επιτυχία στο Splash, ενώ το πρόγραμμα περιήγησης μέσα στο Splash εξακολουθεί να χρειάζεται διαφορετική εξερχόμενη διαδρομή. Πρόκειται για δύο συνδέσεις:

Scrapy → Splash API
Splash browser → forward proxy → website

Για ένα proxy ανά απόδοση, περάστε το όρισμα proxy του HTTP API. Το Splash 3.5 τεκμηριώνει URL proxy όπως http://proxy.example:8080 ή όνομα διαμορφωμένου προφίλ proxy. Η μορφή URL υποστηρίζει επίσης SOCKS5 και προαιρετικά διαπιστευτήρια.

Όταν μεμονωμένοι πόροι σελίδας χρειάζονται διαφορετικά τελικά σημεία, χρησιμοποιήστε σενάριο execute και καταχωρίστε την επιλογή πριν από την πλοήγηση:

function main(splash, args)
  splash:on_request(function(request)
    local host = args.default_proxy
    if request.url == args.special_resource then
      host = args.special_proxy
    end
    request:set_proxy{host = host, port = 8080, type = 'HTTP'}
  end)

  assert(splash:go(args.url))
  return splash:html()
end

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

Η μέθοδος request δέχεται προαιρετικά πεδία username και password. Με τύπο HTTP, οι προορισμοί HTTPS χρησιμοποιούν CONNECT μέσω αυτού του proxy HTTP· δεν απαιτούν επινοημένο τύπο proxy HTTPS.

Η επιστροφή κλήσης εκτελείται πριν από κάθε αίτημα. Οι μέθοδοι request της δεν μπορούν να αλλάξουν ένα αίτημα αφού σταλεί, και η επιστροφή κλήσης δεν μπορεί να καλέσει ασύγχρονες μεθόδους του Splash όπως splash:go ή splash:wait.

Διατηρήστε σταθερή την επιλογή διαδρομής όταν η σελίδα αναμένει μία συνεδρία ή ταυτότητα πηγής. Η τυχαία ανάθεση κάθε εικόνας και αιτήματος API σε άλλη έξοδο μπορεί να παραγάγει σελίδα με απόδοση της οποίας τα αιτήματα δεν ανήκουν πλέον σε μία συνεκτική συνεδρία.

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