प्रत्येक 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 अनुरोधलाई अनियमित रूपमा अर्को आउटलेटमा तोक्दा अनुरोधहरू अब एउटै सुसंगत सत्रमा नपर्ने रेन्डर गरिएको पृष्ठ बन्न सक्छ।