вроде, подходит downloader middleware
process_request - подставляешь свою куку. Сюда же, можно добавить "мету", надо ли читать куку из файла. Либо по принципу "читать, только если нет куки в реквесте"
process_response - сохраняешь куку
либо. в милваре читать/писать в память.
в экстеншене - читать/сохранять в файл при открытии/закрытии паука
это примерно, я, на самом деле, не особо силен в архитектуре :)