د 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()
end

default_proxy او special_proxy د کوربه نومونو په توګه، او special_resource د هغې سرچینې دقیق URL په توګه ورکړئ چې جلا لارښوونه یې غواړئ. کله چې دوه اورېدونکي بېل وي، د بېلګې یوازینی پورټ بدل کړئ. نورې سرچینې اصلي لاره ترلاسه کوي. د HTTP پروکسي لیست د دې کوربه او پورټ ساحو لپاره د پای ټکي نوماندان وړاندې کوي، کله چې عامه سرچینو ته لارې اجازه ولري او پر نوماندانو کوم پروکسي سند نه وي تطبیق شوی.

د request طریقه اختیاري username او password ساحې مني. د HTTP ډول سره، HTTPS منزلونه له همدې HTTP پروکسي له لارې CONNECT کاروي؛ دوی جوړ شوي HTTPS پروکسي ډول ته اړتیا نلري.

غږونه د هرې غوښتنې مخکې چلېږي. د دې request طریقې نشي کولای چې غوښتنه له لېږلو وروسته بدله کړي، او غږونه نشي کولای د splash:go یا splash:wait په څېر ناهمغږې Splash طریقې وبلل شي.

کله چې پاڼه یوې غونډې یا یوې سرچینې هویت ته انتظار وي، د لارې ټاکنه ثابته وساتئ. هر انځور او API غوښتنه په ناڅاپي ډول بل وتل ځای ته ورکول کېدای شي یوه رینډر شوې پاڼه جوړه کړي چې غوښتنې یې نورې د یوې همغږې غونډې پورې اړه ونلري.

اړوندې مقالې