Действительно, спасибо вам обоим за помощь в понимании этого с доступом к классу (Itemloader vs. Item Pipeline).
Таким образом, поскольку у меня есть доступ к элементам в конвейере элементов, я смог решить фильтрацию, получив доступ к другим элементам с помощью конвейера элементов. Смотрите мой проверенный код с решением ниже.
# Configure item pipelines in settings.py
ITEM_PIPELINES = {
'tutorial.pipelines.DataCleaningPipeline': 300,
}
# Pipeline in pipelines.py
class DataCleaningPipeline(object):
def process_item(self, item, spider):
keyboard_dict = {'deutsch': 'DE', 'US-QWERTY': 'US', '': 'DE', 'QWERTZ': 'DE'}
dict_key = item.get('keyboard')
category = item.get('category')
if 'Notebook' in category and dict_key in keyboard_dict:
item['keyboard']= keyboard_dict[dict_key]
return item
else:
return item