Scrapy تەلەپنامىسى Splash كە يېتەلەيدۇ، ئەمما Splash ئىچىدىكى توركۆرگۈچ يەنىلا باشقا چىقىش يولىغا ئېھتىياجلىق. بۇ ئىككى ئۇلىنىش:

Scrapy → Splash API
Splash browser → forward proxy → website

ھەر بىر render ئۈچۈن بىر proxy بولغاندا HTTP API نىڭ proxy پارامېتىرىنى يوللاڭ. Splash 3.5 http://proxy.example:8080 غا ئوخشاش proxy 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 ۋاكالەتچى تىزىملىكى ئاممىۋى مەنبە يوللىرى رۇخسەت قىلىنغان ۋە نامزاتلارغا proxy سالاھىيەت ئۇچۇرى قوللىنىلمىغاندا، بۇ مۇلازىمېتىر ۋە پورت رايونلىرى ئۈچۈن ئاخىرقى نۇقتا نامزاتلىرىنى تەمىنلەيدۇ.

request ئۇسۇلى ئىختىيارىي username ۋە password رايونلىرىنى قوبۇل قىلىدۇ. HTTP تىپى بىلەن HTTPS نىشانلىرى شۇ HTTP proxy ئارقىلىق CONNECT نى ئىشلىتىدۇ؛ ئۇلارغا ئويدۇرۇپ چىقىلغان HTTPS proxy تىپى كەتمەيدۇ.

قايتۇرما چاقىرىق ھەر بىر تەلەپتىن ئىلگىرى ئىجرا بولىدۇ. ئۇنىڭ request ئۇسۇللىرى ئەۋەتىلگەن تەلەپنى ئۆزگەرتەلمەيدۇ، قايتۇرما چاقىرىق splash:go ياكى splash:wait قاتارلىق ئاسىنخرون Splash ئۇسۇللىرىنى چاقىرالمايدۇ.

بەت بىر سېسىيە ياكى بىر مەنبە سالاھىيىتىنى كۈتكەندە يول تاللاشنى مۇقىم ساقلاڭ. ھەر بىر رەسىم ۋە API تەلەپنى تاساددىپىي باشقا چىقىشقا تەقسىملەش، تەلەپلىرى ئەمدى بىر ماسلاشقان سېسىيەگە تەۋە بولمىغان render قىلىنغان بەت ھاسىل قىلىشى مۇمكىن.

مۇناسىۋەتلىك ماقالىلەر