Я улучшаю паука, которого я написал несколько месяцев назад. Я пытаюсь сделать это умнее и загружать только новую информацию с сайта. Для этого я добавляю код в модуль загрузки промежуточного программного обеспечения, чтобы проверить, посещен ли уже URL-идентификатор или нет. Кроме URL-адреса, который я могу получить довольно легко с помощью команды request.url, мне нужно передать Элемент от Паука - этим Элементом является Дата последнего обновления.
Идея состоит в том, чтобы сравнить оба значения (URL-адрес и дату последнего обновления) со значениями из базы данных (обычный файл csv) и, если они одинаковы, отбросить запрос, если оба отсутствуют или если дата последнего обновления не ' не соответствует, чтобы продолжить запрос.
Проблема в том, что я не знаю, как передать Предмет от Паука в Промежуточное ПО. Я вижу, что в модуле Pipelines (объект) передается в класс, пытался добавить его в класс Middleware, но он не работает.
Есть идеи, как передать Предмет или любую другую переменную из Spider в модуль Middleware?