សំណើ Scrapy អាចឈានដល់ Splash ដោយជោគជ័យ ខណៈកម្មវិធីរុករកនៅក្នុង Splash នៅតែត្រូវការផ្លូវចេញផ្សេង។ ទាំងនេះជាការតភ្ជាប់ពីរ៖

Scrapy → Splash API
Splash browser → forward proxy → website

សម្រាប់ប្រូកស៊ីមួយក្នុងមួយ render សូមបញ្ជូនអាគុយម៉ង់ proxy របស់ HTTP API។ Splash 3.5 ចងក្រង URL ប្រូកស៊ីដូចជា http://proxy.example:8080 ឬឈ្មោះ 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 ប្រើ CONNECT តាមប្រូកស៊ី HTTP នោះ។ ពួកវាមិនត្រូវការប្រភេទប្រូកស៊ី HTTPS ប្រឌិតឡើយ។

ការហៅត្រឡប់ដំណើរការមុនសំណើនីមួយៗ។ វិធីសាស្ត្រ request របស់វាមិនអាចផ្លាស់ប្តូរសំណើបន្ទាប់ពីបានផ្ញើ ហើយការហៅត្រឡប់មិនអាចហៅវិធីសាស្ត្រ Splash អសមកាលដូចជា splash:go ឬ splash:wait បានទេ។

រក្សាជម្រើសផ្លូវឱ្យនឹងនរ នៅពេលទំព័ររំពឹងសម័យមួយ ឬអត្តសញ្ញាណប្រភពមួយ។ ការចាត់ចែងរូបភាព និងសំណើ API នីមួយៗដោយចៃដន្យទៅច្រកចេញផ្សេង អាចបង្កើតទំព័រដែលបាន render ដែលសំណើរបស់វាលែងជាកម្មសិទ្ធិរបស់សម័យដែលស៊ីគ្នាតែមួយ។

អត្ថបទពាក់ព័ន្ធ