I-Scrapy proxy middleware: izimiso zokubuyisa i-Request ne-None
Buyisela ukulawula ngemva kokwabela i-Scrapy proxy esikhundleni sokuhlela kabusha isicelo esifanayo ngokungaqondile ngaphambi kokusilanda.
Ikheli le-proxy liyashintsha kulo galo. Indawo okuyiwa kuyo ayivele neze kugalo lokufinyelela le-proxy. Hlola ukuthi i-middleware yakho iyasivumela yini isicelo ukuthi sifike kusilandi.
Ku-middleware yesilandi ye-Scrapy, ukubuyisa i-Request kusho ukuhlela kabusha leso sicelo. Akusho ukuthi «qhubeka uthumela le nto ngemethadatha engiyishintshe manje».
Kumkhethi okhetha umzila kuphela, isimo esibalulekile yileso:
def process_request(self, request):
request.meta['proxy'] = self.choose_proxy()
return None
Lesi siqeshana sikhombisa isimo samanje se-hook; sebenzisa i-interface ye-middleware esekelwa inguqulo ye-Scrapy efakiwe. Umkhethi kufanele abuyise iphoyinti lokugcina elivumelekile futhi aphathe ngokusobala ichibi elingatholakali. Ukukhangela komphakathi okuvumela abaxhumanisi bomphakathi kungathatha abangeneleli be-HTTP ohlwini lwe-proxy ye-HTTP ngalelo zinga lokubuyisa.
Ukubuyisa i-None kuvumela i-middleware yezicelo esele kanye nesilandi ukuthi siqhubeke. Ukubuyisa enye i-Request kuyasiza uma ushintsha noma uzama umsebenzi futhi ngamabomu, kodwa kudinga isizathu nesimo sokuphuma.
Isijikelezisi esibuyisa isicelo esifanayo njalo singasebenzisa kaningi ikhodi yaso yokukhetha ngaphandle kokwenza uxhumano lwendawo okuyiwa kuyo. Ukukhulisa izikhathi zokulinda noma ukuvula amachweba amaningi e-proxy akukwazi ukulungisa lowo mjikelezo wokugeleza kokulawula.
Hlola ukungena ku-middleware, ukuziphatha kokubuyisa kanye nomzamo wokuqala wangempela wenethiwekhi njengezehlakalo ezihlukene. Umugqa wegalo othi «kukhethwe i-proxy» ufakazela kuphela ukuthi umkhethi usebenzile. Awufakazeli ukuthi isicelo esisebenzisa iphoyinti lokugcina elikhethiwe sithunyelwe.