Запрос доступа в конвейере товара - PullRequest
0 голосов
/ 15 января 2020

У нас есть конвейер элемента проверки, и теперь мы хотим расширить его так, чтобы одно поле элемента (было только один тип элементов) иногда больше не требовалось.

Это можно сделать с помощью пользовательская настройка паука, но тогда она будет применяться ко всем предметам паука; тем не менее, мы хотим контролировать это отдельно для каждого элемента.

Если бы это было промежуточное ПО для паука, мы бы добавили ключ meta к запросу, и все было бы хорошо.

Как и сейчас, однако, все, о чем я могу думать, это либо:

  • , чтобы добавить мета-поле к самому элементу, чего я очень хотел бы избежать.
  • , чтобы преобразовать это в spidermiddleware, который, помимо того, что он не является "обычным" этапом проверки, также потребует перемещения других конвейеров.

Есть ли вообще способ получить запрос элемент приходит также из конвейера элементов?

Общий консенсус в этот связанный вопрос состоит в том, что это невозможно, но я предполагаю, что так и должно быть, потому что в LogFormatter ' s function

def dropped(self, item, exception, response, spider)

у нас есть параметр response, и когда я выбрасываю элемент из конвейера, я действительно вижу request внутри этого response.

...