ଏକ 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 ଅନୁରୋଧକୁ ଅନିୟମିତ ଭାବରେ ଅନ୍ୟ ଆଉଟଲେଟକୁ ଦେଲେ ଏପରି ରେଣ୍ଡର ହୋଇଥିବା ପୃଷ୍ଠା ସୃଷ୍ଟି ହୋଇପାରେ ଯାହାର ଅନୁରୋଧଗୁଡ଼ିକ ଆଉ ଏକ ସମନ୍ୱିତ ସେସନର ଅଂଶ ନୁହେଁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ