ជ្រើសរើសប្រូកស៊ីសម្រាប់ធនធាន Splash នីមួយៗ
ជ្រើសរើសប្រូកស៊ី Splash នៅកម្រិត render ឬនៅក្នុងការហៅត្រឡប់ on_request នៅពេលធនធាននីមួយៗត្រូវការផ្លូវផ្សេងគ្នា។
សំណើ 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 ដែលសំណើរបស់វាលែងជាកម្មសិទ្ធិរបស់សម័យដែលស៊ីគ្នាតែមួយ។