в коде это выглядит как-то так, и потом, когда набили item, в третьей функции (которая parse_product) в конце делаем yield item.
щас-бы я наверн переписал с yield from и follow_all, но зато тут понятно по чему итерируется. хм, интересно вот, а куда-бы впихивать пометку по чему мы итерируемся при этом? коммент ставить?