En Scrapy-cookiekrukke hører til en session, ikke automatisk til en proxy
Vælg en eksplicit cookiekrukke-identitet, når flere proxyarbejdsgange deler én edderkop, og bær den identitet videre til opfølgende anmodninger.
At skifte proxyen skifter ikke automatisk edderkoppens cookies. Det kan være nyttigt for én fortsat session og overraskende, når flere uafhængige sessioner deler edderkoppen.
Scrapys cookie-middleware understøtter separate krukker, der vælges af anmodningens cookiejar-metadata. Giv den nøgle den identitet, du faktisk vil bevare:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
Endepunktet og krukkenøglen er uafhængige valg. Et uautentificeret offentligt crawl kan tage sit valgte HTTP-endepunkt fra HTTP-proxylisten, hvor den rute er tilladt; arbejdsgangen ejer stadig krukkenøglen. En opfølgende anmodning, der skal forblive i denne session, har brug for den samme krukkenøgle; metadataene klæber ikke automatisk til hver ny anmodning, du opretter. Videregiv de konkrete felter, som arbejdsgangen kræver, i stedet for at kopiere alle middleware-metadata blindt.
At bruge proxyadressen som krukkenøgle er kun én politik
Den genvej grupperer tilstand efter endepunkt. Den grupperer ikke nødvendigvis efter person, konto eller offentlig udgang. Ét udbyderendepunkt kan rotere udgange, og flere konti kan bruge det samme endepunkt.
For en autoriseret arbejdsgang, der har brug for stabil tilstand, skal du registrere konto-/session-id, krukke-id og den valgte rute hver for sig. Hvis du beslutter at skifte rute halvvejs, skal du også beslutte hvad der skal ske med applikationens session.
Separate krukker forhindrer utilsigtet cookiedeling mellem de grupper, du har defineret. De lover ikke, at en destination ikke kan forbinde to anmodninger via en konto eller andre applikationsdata.
Hvis den forkerte side bliver ved efter at have skiftet IP’er, skal du undersøge, hvilken krukke der sendte anmodningen, før du sletter alle cookies eller udskifter hele proxy-puljen. Den bevarede tilstand kan forklare siden ganske godt.