प्रत्येक Splash संसाधन के लिए प्रॉक्सी चुनें
जब अलग-अलग संसाधनों को भिन्न मार्ग चाहिए, तब रेंडर स्तर पर या on_request कॉलबैक में Splash प्रॉक्सी चुनें।
एक Scrapy अनुरोध Splash तक पहुँच सकता है, जबकि Splash के भीतर का ब्राउज़र अभी भी भिन्न आउटबाउंड मार्ग चाहता है। ये दो कनेक्शन हैं:
Scrapy → Splash API
Splash browser → forward proxy → websiteप्रति रेंडर एक प्रॉक्सी के लिए HTTP API का proxy तर्क दें। Splash 3.5 http://proxy.example:8080 जैसी प्रॉक्सी URL या कॉन्फ़िगर किया गया proxy-profile नाम दर्ज करता है। इसका 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()
enddefault_proxy और special_proxy को होस्टनाम के रूप में, और special_resource को अलग से रूट किए जाने वाले संसाधन की सटीक URL के रूप में दें। जब दो लिस्नर भिन्न हों तो उदाहरण का एकमात्र पोर्ट बदलें। अन्य संसाधनों को डिफ़ॉल्ट मार्ग मिलता है। HTTP प्रॉक्सी सूची इन होस्ट और पोर्ट फ़ील्ड के लिए एंडपॉइंट उम्मीदवार देती है, जब सार्वजनिक संसाधन मार्गों की अनुमति हो और उम्मीदवारों पर कोई प्रॉक्सी क्रेडेंशियल लागू न हो।
request विधि वैकल्पिक username और password फ़ील्ड स्वीकार करती है। HTTP प्रकार के साथ, HTTPS गंतव्य उस HTTP प्रॉक्सी के माध्यम से CONNECT का उपयोग करते हैं; उन्हें गढ़ा हुआ HTTPS प्रॉक्सी प्रकार नहीं चाहिए।
कॉलबैक प्रत्येक अनुरोध से पहले चलता है। इसकी request विधियाँ भेजे जाने के बाद अनुरोध नहीं बदल सकतीं, और कॉलबैक splash:go या splash:wait जैसी अतुल्यकालिक Splash विधियों को नहीं बुला सकता।
जब पेज एक सत्र या स्रोत पहचान की अपेक्षा करे तब मार्ग चयन स्थिर रखें। हर छवि और API अनुरोध को यादृच्छिक रूप से किसी अन्य आउटलेट को सौंपने से ऐसा रेंडर किया गया पेज बन सकता है जिसके अनुरोध अब एक सुसंगत सत्र से संबंधित नहीं हैं।