Поскольку можно выполнять итерации по чему-то, что это не структура данных. Скажем, у меня есть сетевое приложение, которое вытягивает результаты сервера. Я могу возвратить обертку Итератора вокруг тех результатов, и передают их потоком через любой стандартный код, который принимает объект Итератора.
Думают о нем как о ключевой роли хорошего дизайна MVC. Данные должны добраться из Модели (т.е. структура данных) к Представлению так или иначе. Используя Итератор, поскольку посредник удостоверяется, что реализация Модели никогда не представляется. Вы могли сохранять LinkedList в памяти, вытаскивая информацию из алгоритма дешифрования, или обертывая вызовы JDBC. Это просто не имеет значения для представления, потому что представление только заботится об интерфейсе Iterator.
Вы переопределяете метод "синтаксического анализа". "parse" - частный метод в CrawlSpider, используемый для перехода по ссылкам.