Prechádzam web, ktorý vracia stránky s kódom captcha a stavovým kódom 200, čo naznačuje, že je všetko v poriadku. To spôsobí, že sa stránka vloží do vyrovnávacej pamäte cache.
Chcem tieto stránky znova indexovo prehľadať neskôr. Ale ak sú v pamäti cache, nevykúpia sa.
Je možné preťažiť funkciu process_response z httpcache middleware alebo hľadať konkrétny reťazec v html reponse a prepísať 200 kód chybovým kódom?
Aký by bol najjednoduchší spôsob, ako zabrániť tomu, aby boli škrabance vložené do vyrovnávacej pamäte.
odpovede:
2 pre odpoveď č. 1Scrapy použitie scrapy.downloadermiddlewares.httpcache.HttpCacheMiddleware na vyrovnávaciu pamäť http. Ak chcete ignorovať toto ukladanie do vyrovnávacej pamäte, stačí nastaviť kľúčové slovo meta žiadosti dont_cache
Pravda ako:
yield Request(url, meta={"dont_cache": True})
Vyššie uvedené dokumenty tiež hovoria o tom, ako ho zakázať v celom projekte s nastavením, ak vás to tiež zaujíma.