ну
1. таблица с ссылками, там же "состояние" (новая, в очереди, обработана)
2. таблица с результатом
парсер берет ссылки только из базы, никаких yield Request
если парсер увидел нужную ссылку на странице, он бросает ее в базу
парсер при старте или по spider_idle берет пачку ссылок и отправляет их с соответствующим колбеком
при таком раскладе, из базы спокойно можно дергать 10 000 - 100 000 ссылок