Ընտրեք պրոքսի յուրաքանչյուր Splash ռեսուրսի համար
Ընտրեք Splash պրոքսին ռենդերավորման մակարդակում կամ on_request հետկանչում, երբ առանձին ռեսուրսներին տարբեր ուղիներ են պետք։
Scrapy հարցումը կարող է հաջողությամբ հասնել Splash-ին, մինչդեռ Splash-ի ներսում գտնվող դիտարկիչը դեռ տարբեր ելքային ուղի է պահանջում։ Սրանք երկու կապեր են.
Scrapy → Splash API
Splash browser → forward proxy → websiteՄեկ ռենդերավորման համար մեկ պրոքսիի դեպքում փոխանցեք HTTP API-ի proxy արգումենտը։ 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 հարցում պատահականորեն այլ ելքի հանձնելը կարող է ստեղծել ռենդերված էջ, որի հարցումներն այլևս չեն պատկանում մեկ համահունչ սեսիայի։