Ìbéèrè Scrapy lè dé Splash ní àṣeyọrí nígbà tí ẹ̀rọ ìwò internet nínú Splash ṣì nílò ọ̀nà ìjáde mìíràn. Ìwọ̀nyí ni ìsopọ̀ méjì:

Scrapy → Splash API
Splash browser → forward proxy → website

Fún aṣojú kan ní ìgbà render kan, fi proxy àpèjúwe HTTP API kọjá. Splash 3.5 ṣe àkọsílẹ̀ URL aṣojú bíi http://proxy.example:8080, tàbí orúkọ proxy-profile tí a ti ṣètò. Ọ̀nà URL rẹ̀ tún ṣe àtìlẹ́yìn SOCKS5 àti àwọn ẹ̀rí ìdánimọ̀ àsàyàn.

Nígbà tí àwọn ohun èlò ojú-ìwé kọ̀ọ̀kan nílò àwọn ibi ìparí ọ̀tọ̀ọ̀tọ̀, lo script execute kí o sì forúkọ yíyàn náà sílẹ̀ kí o tó lọ kiri:

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

Fi default_proxy àti special_proxy kọjá gẹ́gẹ́ bí orúkọ olùgbàlejò, àti special_resource gẹ́gẹ́ bí URL gbára kan náà ti ohun èlò tí a gbọ́dọ̀ darí lọ́tọ̀. Rọ́pò ebute kan ṣoṣo nínú àpẹẹrẹ nígbà tí àwọn olùgbọ́ méjì yàtọ̀. Àwọn ohun èlò mìíràn gba ọ̀nà àìpé. Àkójọ aṣojú HTTP pèsè àwọn olùdíje ibi ìparí fún àwọn pápá olùgbàlejò àti ebute wọ̀nyí nígbà tí a gba àwọn ọ̀nà sí àwọn ohun èlò gbogbo ènìyàn láàyè tí a kò sì lo àwọn ẹ̀rí aṣojú lórí àwọn olùdíje.

Ọ̀nà request gba àwọn pápá username àti password àsàyàn. Pẹ̀lú irú HTTP, àwọn ibi àfojúsùn HTTPS lo CONNECT nípasẹ̀ aṣojú HTTP yẹn; wọn kò nílò irú aṣojú HTTPS tí a ṣẹ̀dá.

Callback náà máa ń ṣiṣẹ́ kí ìbéèrè kọ̀ọ̀kan tó wáyé. Àwọn ọ̀nà request rẹ̀ kò lè yí ìbéèrè padà lẹ́yìn tí a ti rán an, callback náà kò sì lè pe àwọn ọ̀nà Splash aláìsí àkókò bíi splash:go tàbí splash:wait.

Jẹ́ kí yíyàn ọ̀nà dúró ṣinṣin nígbà tí ojú-ìwé ń retí ìpàdé kan tàbí ìdánimọ̀ orísun kan. Pínpín gbogbo àwòrán àti ìbéèrè API lọ́nà àìtọ́ sí ijáde mìíràn lè mú ojú-ìwé tí a ti render jáde tí àwọn ìbéèrè rẹ̀ kò sí ní ìbámu mọ́ ìpàdé kan tí ó dúró ṣinṣin.

Àwọn àpilẹ̀kọ tó jọra