В каком месте/файле обрабатывать спарсенные данные в Scrapy?

Приветствую

Как я понял, в Scrapy есть несколько основных мест, где можно обработать скачанные данные:
— в самом пауке;
— в файле items;
— в файле pipelines.
Со вчерашнего дня размышляю о том, где правильно разбирать полученные данные и пока пришел только к одному умозаключению: в файле паука должны быть обработаны лишь те данные, которые нужны для его работы и небольшие допустимые модификации полученных данных. В итоге остается два места — spider middleware/items и pipelines.

По логике, можно написать один и тот же метод/функцию, которая будет одинаково работать и через процессор промежуточного ПО паука (spider middleware/items) и через pipilene. Но как я понял, если нужно несколько обработчиков полученных пауком данных, то через обработчики/процессоры items это будет слегка затруднительно, так как можно указать только под одному обработчику/процессору для каждого поля. А через pipilenes можно указывать несколько обработчиков.

Но тут возникает одно опасение — повышенная нагрузка pipelines в сравнении с обработчиком/процессором items. Когда мы вызываем обработчик в pipelines, то мы вызываем весь массив сохраненных данных в одном поле. А когда мы обрабатываем данные через обработчик/процессор поля, то мы обрабатываем лишь одно поле без дополнительного последующего вызова всех полей поля...

В общем, если вы знаете Scrapy, объясните пожалуйста в каком месте какие данные нужно обрабатывать.

P.S.
Я не знаю нужно ли вам указывать примеры спарсенных данных, поэтому предложу простой пример из нескольких полей:
— заголовок стрницы
— url картинки
— большой кусок HTML кода, который надо потом обработать (очистить от ненужного)
— несколько тегов списком
  • Вопрос задан
  • 271 просмотр
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
в pipelines

вообще Scrapy прямиком идет в NoSQL и больше никуда (ну кроме экзотики типа поискать 404ю)

потом уже из NoSQLя (обычно Монга) структурируете куда нужно - в csv, Postgre и т.п.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы