Scrapy-k birbideratzea jarraitu aurretik erakutsi dezake
Behin-behinean erakutsi proxien bidez egindako GET eskaera baten hasierako birbideratze-egoera eta Location eskaeraren metadatuen bidez, birbideratzeen kudeaketa HTTP erroreen iragazketatik bereizita mantenduz.
Proxy bidezko GET batek zerbitzari batera iritsi eta gero birbideratzeak jarrai ditzake, azken hutsegiteak lehen erantzuna ezkutatu arte. Erakutsi hasierako erantzun hori diagnostikorako:
request = scrapy.Request(
'https://service.example/page',
callback=inspect_redirect,
meta={
'proxy': 'http://proxy.example:8080',
'dont_redirect': True,
'handle_httpstatus_list': [301, 302, 303, 307, 308],
},
)
Programatu eskaera hau armiarmaren lehendik dagoen hasiera edo callback fluxuaren bidez. Baimendutako orri publikoaren proba bat egiteko, HTTP proxy zerrendak eskaeraren proxy URLrako hautagaiak eskaintzen ditu. inspect_redirect-ek erantzunaren egoera eta Location goiburua erregistratu beharko lituzke, berriro itsu-itsuan jarraitu beharrean.
dont_redirect-ek eskaera honetarako birbideratze automatikoa gelditzen du. handle_httpstatus_list-ek adierazitako egoerek callback-era iristea ahalbidetzen du, HTTP erroreen iragazketak baztertu beharrean. Ezarpenek middlewarearen erantzukizun desberdinak lantzen dituzte.
Egiaztatu zer hautatzen duen birbideratzeak: aurreikusitako URL kanoniko bat, eskema edo ostalari-izen desberdin bat, saio-hasierako orri bat edo errepikatzen den ziklo bat. Garraio arrakastatsuaren ondoren jasotako 302 bat proxy konexioa irekitzeak huts egitearen behaketa desberdina da.
Birbideratzeen kudeaketa arrunta berrezartzen denean, Scrapy-k redirect_urls eta redirect_reasons erakusten ditu erantzunaren eskaera metadatuetan. Hauek azken emaitzarako bidea gorde dezakete, birbideratzeak crawl osoan desgaituta utzi gabe.
Amaierako erantzun bat ez da automatikoki aplikazioak nahi zuen orria. Mantendu helmuga eta erantzunaren edukia bideratze-diagnostikoarekin batera.