Здравствуйте.
Подскажите пожалуйста, как спарсить структуру категорий товаров магазина, когда огромное количество категорий, категорий второго, третьего уровня? Как их складывать чтоб не запутаться.
Неизвестно о каком сайте идет речь. Возможно там есть страница карта сайта (sitemap или нечто подобное), обычно на таких страницах можно спарсить всё по блокам а далее уже разобрать на составные части.
Можете через GET-запрос получить содержимое и собрать все ссылки, а потом регуляркой заменить основную часть домена на актуальный адрес сайта (первый раз вижу, чтобы в карте сайта стояли ссылки неактуальные, видать переехали на новый домен). Но что самое трудное - все ссылки второго уровня идут. Зайдите в любую подкатегорию, а ссылка не покажет принадлежность к категории.
как вариант, можно сначала собрать ссылки, относящиеся к <div class="catalog">, а потом каждую из ссылок отдельно пройти на подкатегории и все это отдельно записывать.
Так вот же у вас на этой странице afalinaural.ru/site-map.html в её коде, разметка просто сказка для парсера, соберите блоки а потом разберёте их на составные части.