Cambiare proxy non cambia automaticamente i cookie del ragno. Può essere utile per una sessione che continua e sorprendente quando più sessioni indipendenti condividono lo stesso ragno.

Il middleware dei cookie di Scrapy supporta barattoli separati selezionati dai metadati cookiejar della richiesta. Date a quella chiave l’identità che intendete davvero conservare:

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

L’endpoint e la chiave del barattolo sono scelte indipendenti. Una scansione pubblica non autenticata può prendere il proprio endpoint HTTP scelto dalla lista di proxy HTTP dove quella rotta è consentita; il flusso di lavoro possiede comunque la chiave del barattolo. Una richiesta successiva che deve restare in questa sessione ha bisogno della stessa chiave di barattolo; i metadati non si attaccano automaticamente a ogni nuova richiesta che create. Propagate i campi specifici richiesti dal flusso di lavoro invece di copiare ciecamente tutti i metadati del middleware.

Usare l’indirizzo del proxy come chiave del barattolo è solo una politica

Quella scorciatoia raggruppa lo stato per endpoint. Non necessariamente lo raggruppa per persona, account o uscita pubblica. Un endpoint del fornitore può ruotare le uscite e più account possono usare lo stesso endpoint.

Per un flusso di lavoro autorizzato che necessita di stato stabile, annotate separatamente l’identificatore di account/sessione, l’identificatore del barattolo e la rotta scelta. Se decidete di cambiare rotta a metà strada, decidete anche cosa deve accadere alla sessione dell’applicazione.

Barattoli separati impediscono la condivisione accidentale dei cookie tra i gruppi che avete definito. Non promettono che una destinazione non possa collegare due richieste tramite un account o altri dati dell’applicazione.

Se la pagina sbagliata persiste dopo il cambio di IP, ispezionate quale barattolo ha inviato la richiesta prima di eliminare tutti i cookie o sostituire l’intero pool di proxy. Lo stato conservato può spiegare la pagina perfettamente.

Articoli correlati