Scrapyjeva tegla kolačića pripada sesiji, a ne automatski proxyju
Odaberite jasan identitet tegle kolačića kada više proxy tokova rada dijeli jednog pauka i prenesite taj identitet na naredne zahtjeve.
Promjena proxyja ne mijenja automatski kolačiće pauka. To može biti korisno za jednu trajnu sesiju, a iznenađujuće kada više nezavisnih sesija dijeli istog pauka.
Scrapyjev middleware za kolačiće podržava odvojene tegle koje se biraju metapodacima cookiejar zahtjeva. Dajte tom ključu identitet koji zaista namjeravate sačuvati:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
Krajnja tačka i ključ tegle nezavisni su izbori. Neautentificirano javno puzanje može svoju odabranu HTTP krajnju tačku uzeti s liste HTTP proxyja gdje je ta ruta dopuštena; tok rada ipak posjeduje ključ tegle. Naredni zahtjev koji treba ostati u ovoj sesiji treba isti ključ tegle; metapodaci se ne lijepe automatski na svaki novi zahtjev koji napravite. Prenosite konkretna polja koja tok rada zahtijeva umjesto da slijepo kopirate sve metapodatke middlewarea.
Korištenje adrese proxyja kao ključa tegle samo je jedna politika
Ta prečica grupiše stanje po krajnjoj tački. Ne grupiše ga nužno po osobi, računu ili javnom izlazu. Jedna krajnja tačka provajdera može rotirati izlaze, a više računa može koristiti istu krajnju tačku.
Za ovlašteni tok rada kojem je potrebno stabilno stanje, zabilježite identifikator računa/sesije, identifikator tegle i odabranu rutu odvojeno. Ako odlučite promijeniti rutu na pola puta, odlučite i šta treba da se dogodi sa sesijom aplikacije.
Odvojene tegle sprječavaju slučajno dijeljenje kolačića između grupa koje ste definirali. One ne obećavaju da odredište ne može povezati dva zahtjeva preko računa ili drugih podataka aplikacije.
Ako pogrešna stranica ostane i nakon promjene IP adresa, provjerite koja je tegla poslala zahtjev prije nego što izbrišete sve kolačiće ili zamijenite cijeli bazen proxyja. Sačuvano stanje može sasvim dobro objasniti stranicu.