Примеры с сравнением кода просто смешной.Вы же код treeview не показали.Я также как в WF ,упакую логику в один- два вызова и что? Если самим не можется писать ,всегда есть бесчисленное количество библиотек.
Предположительно автору нужно около 900 тыс запросов в месяц, 44640 мин/мес * 20 сайтов ,при условии одного запроса на каждый сайт , выйдет в 100 $ минимум.
rules и parse_item не используются . На методе parse(self, response) , работа паука заканчивается.
Этот метод может быть рекурсивным:
Парсим элементы с текущей страницы
если есть ссылка на следующую страницу,переходим
ок мы на следующей странице,
повторяем первый пункт и.т.д.