د هر 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 غوښتنه په ناڅاپي ډول بل وتل ځای ته ورکول کېدای شي یوه رینډر شوې پاڼه جوړه کړي چې غوښتنې یې نورې د یوې همغږې غونډې پورې اړه ونلري.