Schimbarea proxy-ului nu schimbă automat cookie-urile păianjenului. Acest lucru poate fi util pentru o sesiune continuă și surprinzător când mai multe sesiuni independente partajează același păianjen.

Middleware-ul de cookie-uri al Scrapy acceptă borcane separate selectate de metadatele cookiejar ale cererii. Dați acelei chei identitatea pe care intenționați cu adevărat să o păstrați:

yield scrapy.Request(
    'https://example.com/start',
    meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)

Punctul final și cheia borcanului sunt alegeri independente. O parcurgere publică neautentificată își poate lua punctul final HTTP ales din lista de proxy-uri HTTP acolo unde acea rută este permisă; fluxul de lucru deține în continuare cheia borcanului. O cerere ulterioară care trebuie să rămână în această sesiune are nevoie de aceeași cheie de borcan; metadatele nu se lipesc automat de fiecare cerere nouă pe care o creați. Propagați câmpurile specifice cerute de fluxul de lucru în loc să copiați orbește toate metadatele middleware-ului.

Folosirea adresei proxy ca cheie a borcanului este doar o politică

Acea scurtătură grupează starea după punctul final. Nu o grupează neapărat după persoană, cont sau ieșire publică. Un punct final de furnizor poate roti ieșiri, iar mai multe conturi pot folosi același punct final.

Pentru un flux de lucru autorizat care are nevoie de stare stabilă, notați separat identificatorul de cont/sesiune, identificatorul borcanului și ruta aleasă. Dacă decideți să schimbați ruta la jumătatea drumului, decideți și ce ar trebui să se întâmple cu sesiunea aplicației.

Borcanele separate împiedică partajarea accidentală a cookie-urilor între grupurile pe care le-ați definit. Ele nu promit că o destinație nu poate corela două cereri printr-un cont sau alte date ale aplicației.

Dacă pagina greșită persistă după schimbarea IP-urilor, inspectați care borcan a trimis cererea înainte de a șterge toate cookie-urile sau de a înlocui întregul grup de proxy-uri. Starea păstrată poate explica pagina foarte bine.

Articole similare