Не получается спарсить многоуровневое меню - Python

Формулировка задачи:

Доброго времени суток господа! Уже пару дней бьюсь и не могу написать одну из частей парсера, а точнее сбор ссылок из меню на сайте, структуру приложу ниже. Проблема в том что в списках есть ссылки на подсписки и сами подсписки, и в этих подсписках всё может повторятся. Ссылки нужно получить только из крайних подсписков, иначе если перейти по ссылке которая рядом с её подсписком то на этой странице будут все товары, а потом мы идём по ссылкам в подсписке а там эти же товары только разибитые по категориям - страницам, и того у нас в массиве уже дублируются все товары 2 раза, а страниц то много, и дубляжей получается ещё больше. Вот, как-то так, надеюсь что смог понятно объяснить что же мне надо, у самого меня пока что не чего не получается так как я только начал учить Python!
<nav class="categories">
    <ul>
        <li class="expanded "><a href="/catalog/transport_i_vnedorozhnaya_tekhnika/?list=yes">Транспорт и внедорожная техника</a>
            <ul>
                <li class="expanded "><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_motornye_masla/">Моторные масла</a>
                    <ul>
                        <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_motornye_masla_dlya_legkovykh_avtomobiley/">Для легковых автомобилей</a>
                        </li>
                        <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_motornye_masla_dlya_gruzovykh_avtomobiley/">Для грузовых автомобилей</a>
                        </li>
                        <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_motornye_masla_dlya_dvigateley_rabotayushchikh_na_gazoobraznom_toplive/">Для двигателей, работающих на газообразном топливе</a>
                        </li>
                    </ul>
                </li>
                <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_universalnye_traktornye_masla/">Универсальные тракторные масла</a>
                </li>
                <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_transmissionnye_masla/">Трансмиссионные масла</a>
                </li>
                <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_zhidkosti_dlya_akpp/">Жидкости для АКПП</a>
                </li>
                <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_zhidkosti_dlya_gur_i_gidrosistem/">Жидкости для ГУР и гидросистем</a>
                </li>
                <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_avtomobilnye_plastichnye_smazki_i_pasty/">Автомобильные пластичные смазки и пасты</a>
                </li>
                <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_antifrizy/">Антифризы</a>
                </li>
                <li><a href="/catalog/transport_i_vnedorozhnaya_tekhnika_servisnye_produkty/">Сервисные продукты</a>
                </li>
            </ul>
        </li>
        <li class="expanded "><a href="/catalog/industrialnye_smazochnye_materialy/?list=yes">Индустриальные смазочные материалы</a>
            <ul>
                <li><a href="/catalog/industrialnye_smazochnye_materialy_mashinnye_masla_obshchego_naznacheniya/">Машинные масла общего назначения</a>
                </li>
                <li class="expanded "><a href="/catalog/industrialnye_smazochnye_materialy_gidravlicheskie_zhidkosti/">Гидравлические жидкости</a>
                    <ul>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_gidravlicheskie_zhidkosti_na_mineralnoy_osnove_soderzhat_zn/">На минеральной основе, содержат Zn</a>
                        </li>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_gidravlicheskie_zhidkosti_na_mineralnoy_osnove_ne_soderzhat_zn/">На минеральной основе, не содержат Zn</a>
                        </li>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_gidravlicheskie_zhidkosti_na_sinteticheskoy_osnove/">На синтетической основе</a>
                        </li>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_gidravlicheskie_zhidkosti_ognestoykie/">Огнестойкие</a>
                        </li>
                    </ul>
                </li>
                <li class="expanded "><a href="/catalog/industrialnye_smazochnye_materialy_reduktornye_masla/">Редукторные масла</a>
                    <ul>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_reduktornye_masla_na_mineralnoy_osnove/">На минеральной основе</a>
                        </li>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_reduktornye_masla_na_sinteticheskoy_osnove/">На синтетической основе</a>
                        </li>
                    </ul>
                </li>
                <li><a href="/catalog/industrialnye_smazochnye_materialy_masla_dlya_napravlyayushchikh_tsepey_i_pnevmoinstrumenta/">Масла для направляющих, цепей и пневмоинструмента</a>
                </li>
                <li class="expanded "><a href="/catalog/industrialnye_smazochnye_materialy_kompressornye_masla/">Компрессорные масла</a>
                    <ul>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_kompressornye_masla_na_mineralnoy_osnove/">На минеральной основе</a>
                        </li>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_kompressornye_masla_na_sinteticheskoy_osnove/">На синтетической основе</a>
                        </li>
                    </ul>
                </li>
                <li class="expanded "><a href="/catalog/industrialnye_smazochnye_materialy_masla_dlya_kompressorov_kholodilnogo_oborudovaniya/">Масла для компрессоров холодильного оборудования</a>
                    <ul>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_masla_dlya_kompressorov_kholodilnogo_oborudovaniya_na_mineralnoy_osnove/">На минеральной основе</a>
                        </li>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_masla_dlya_kompressorov_kholodilnogo_oborudovaniya_polusinteticheskie/">Полусинтетические</a>
                        </li>
                        <li><a href="/catalog/industrialnye_smazochnye_materialy_masla_dlya_kompressorov_kholodilnogo_oborudovaniya_na_sinteticheskoy_osnove/">На синтетической основе</a>
                        </li>
                    </ul>
                </li>
                <li><a href="/catalog/industrialnye_smazochnye_materialy_turbinnye_masla/">Турбинные масла</a>
                </li>
                <li><a href="/catalog/industrialnye_smazochnye_materialy_masla_dlya_tekstilnykh_mashin/">Масла для текстильных машин</a>
                </li>
                <li><a href="/catalog/industrialnye_smazochnye_materialy_belye_masla/">Белые масла</a>
                </li>
                <li><a href="/catalog/masla_teplonositeli/">Масла-теплоносители</a>
                </li>
                <li><a href="/catalog/industrialnye_smazochnye_materialy_elektroizolyatsionnye_masla/">Электроизоляционные масла</a>
                </li>
                <li><a href="/catalog/industrialnye_smazochnye_materialy_tsilindrovye_masla/">Цилиндровые масла</a>
                </li>
            </ul>
        </li>
        <li class="expanded "><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti/?list=yes">Смазочно-охлаждающие жидкости (СОЖ)</a>
            <ul>
                <li class="expanded "><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem/">Для обработки металлов резанием</a>
                    <ul>
                        <li class="expanded "><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_vodosmeshivaemye/">Водосмешиваемые</a>
                            <ul>
                                <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_vodosmeshivaemye_universalnogo_primeneniya/">Универсального применения</a>
                                </li>
                                <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_vodosmeshivaemye_dlya_alyuminiya_i_vysokolegirovannykh_staley/">Для алюминия и высоколегированных сталей</a>
                                </li>
                                <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_vodosmeshivaemye_dlya_magniya/">Для магния</a>
                                </li>
                                <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_vodosmeshivaemye_dlya_tsvetnykh_metallov/">Для цветных металлов</a>
                                </li>
                                <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_vodosmeshivaemye_sinteticheskie_zhidkosti_dlya_shlifovaniya/">Синтетические жидкости для шлифования</a>
                                </li>
                            </ul>
                        </li>
                        <li class="expanded "><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_nevodosmeshivaemye/">Неводосмешиваемые</a>
                            <ul>
                                <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_nevodosmeshivaemye_universalnogo_primeneniya/">Универсального применения</a>
                                </li>
                                <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_rezaniem_nevodosmeshivaemye_zhidkosti_dlya_elektroerozionnoy_obrabotki/">Жидкости для электроэрозионной обработки</a>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
                <li class="expanded "><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_davleniem_nevodosmeshivaemye/">Для обработки металлов давлением</a>
                    <ul>
                        <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_davleniem_vodosmeshivaemye/">Водосмешиваемые</a>
                        </li>
                        <li><a href="/catalog/vodosmeshivaemye_universalnogo_primeneniya_universalnogo_primeneniya_vodosmeshivaemye_nevodosmeshivaemye/">Неводосмешиваемые</a>
                        </li>
                        <li><a href="/catalog/smazochno_okhlazhdayushchie_zhidkosti_dlya_obrabotki_metallov_davleniem_tverdye/">Твердые</a>
                        </li>
                    </ul>
                </li>
                <li class="expanded "><a href="/catalog/razdelitelnie_sostavi_dla_proseccov_obrabotki_metallov_davleniem/">Разделительные составы для процессов горячей обработки металлов давлением</a>
                    <ul>
                        <li><a href="/catalog/razdelitelnie_sostavi_dla_proseccov_obrabotki_metallov_davleniem_vodosmeshivaemie_grafit/">Водосмешиваемые графитосодержащие составы для горячей штамповки</a>
                        </li>
                        <li><a href="/catalog/razdelitelnie_sostavi_dla_proseccov_obrabotki_metallov_davleniem_nevodosmeshivaemie_grafit/">Неводосмешиваемые графитосодержащие составы для горячей штамповки</a>
                        </li>
                        <li><a href="/catalog/razdelitelnie_sostavi_dla_proseccov_obrabotki_metallov_davleniem_vodosmeshivaemie_nongrafit/">Водосмешиваемые безграфитовые составы для горячей штамповки</a>
                        </li>
                        <li><a href="/catalog/razdelitelnie_sostavi_dla_proseccov_obrabotki_metallov_davleniem_litie/">Разделительные составы для литья под давлением</a>
                        </li>
                    </ul>
                </li>
                <li><a href="/catalog/sredstva_po_uhodu_za_smazochno_ohlazhdayuschimi_zhidkostyami/">Средства по уходу за СОЖ</a>
                </li>
            </ul>
        </li>
        <li class="expanded "><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_dlya_obrabotki_metallov_davleniem/?list=yes">Очистители и антикоррозионные составы</a>
            <ul>
                <li class="expanded "><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_ochistiteli/">Очистители</a>
                    <ul>
                        <li class="expanded "><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_ochistiteli_vodosmeshivaemye/">Водосмешиваемые</a>
                            <ul>
                                <li><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_ochistiteli_vodosmeshivaemye_dlya_ispolzovaniya_v_pogruzhnykh_vannakh/">Для использования в погружных ваннах</a>
                                </li>
                                <li><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_ochistiteli_vodosmeshivaemye_dlya_ispolzovaniya_v_moyushchikh_apparatakh/">Для использования в моющих аппаратах</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_ochistiteli_nevodosmeshivaemye_na_osnove_rastvoriteley/">Неводосмешиваемые (на основе растворителей)</a>
                        </li>
                    </ul>
                </li>
                <li class="expanded "><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_antikorrozionnye_sostavy/">Антикоррозионные составы</a>
                    <ul>
                        <li><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_antikorrozionnye_sostavy_vodosmeshivaemye/">Водосмешиваемые</a>
                        </li>
                        <li><a href="/catalog/ochistiteli_i_antikorrozionnye_sostavy_antikorrozionnye_sostavy_maslyanye_i_voskovye/">Масляные и восковые</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
        <li class="expanded "><a href="/catalog/industrialnye_plastichnye_smazki_antikorrozionnye_sostavy/?list=yes">Пластичные смазки и пасты</a>
            <ul>
                <li><a href="/catalog/industrialnye_plastichnye_smazki_smazki_obshchego_naznacheniya_do_120/">Смазки общего назначения, до 120в„ѓ</a>
                </li>
                <li><a href="/catalog/industrialnye_plastichnye_smazki_smazki_dlya_temperatur_gt_120_i_vysokikh_nagruzok/">Смазки для температур &gt;120в„ѓ и высоких нагрузок</a>
                </li>
                <li><a href="/catalog/industrialnye_plastichnye_smazki_smazki_s_tverdymi_napolnitelyami/">Смазки с твердыми наполнителями</a>
                </li>
                <li><a href="/catalog/industrialnye_plastichnye_smazki_poluzhidkie_smazki_dlya_tsentralizovannykh_sistem_podachi_i_reduktorov/">Полужидкие смазки для централизованных систем подачи и редукторов</a>
                </li>
                <li><a href="/catalog/industrialnye_plastichnye_smazki_spetsialnye_smazki/">Специальные смазки</a>
                </li>
                <li><a href="/catalog/smazochnye_materialy_dlya_otkrytykh_zubchatykh_peredach/">Смазочные материалы для открытых зубчатых передач</a>
                </li>
            </ul>
        </li>
        <li class="expanded "><a href="/catalog/smazochnye_materialy_dlya_pishchevoy_promyshlennosti/?list=yes">Пищевые смазочные материалы Cassida</a>
            <ul>
                <li><a href="/catalog/smazochnye_materialy_dlya_pishchevoy_promyshlennosti_masla_dlya_tsepey/">Масла для цепей CASSIDA CHAIN OIL</a>
                </li>
                <li><a href="/catalog/smazochnye_materialy_dlya_pishchevoy_promyshlennosti_gidravlicheskie_masla/">Гидравлические масла CASSIDA</a>
                </li>
                <li><a href="/catalog/smazochnye_materialy_dlya_pishchevoy_promyshlennosti_reduktornye_masla/">Редукторные масла CASSIDA</a>
                </li>
                <li><a href="/catalog/smazochnye_materialy_dlya_pishchevoy_promyshlennosti_kompressornye_masla/">Компрессорные масла CASSIDA</a>
                </li>
                <li><a href="/catalog/smazochnye_materialy_dlya_pishchevoy_promyshlennosti_masla_teplonositeli/">Масла-теплоносители CASSIDA</a>
                </li>
                <li><a href="/catalog/smazochnye_materialy_dlya_pishchevoy_promyshlennosti_plastichnye_smazki/">Пластичные смазки CASSIDA</a>
                </li>
                <li><a href="/catalog/smazochnye_materialy_dlya_pishchevoy_promyshlennosti_spetsialnye_zhidkosti/">Специальные жидкости CASSIDA</a>
                </li>
            </ul>
        </li>
    </ul>
    <!--    <input type="hidden" id="actv" value="active_1"/> -->
    <!--    -->
</nav>

Код к задаче: «Не получается спарсить многоуровневое меню - Python»

textual
s = set(el.attr('href') for el in dom.find('ul > li > ul > li > a'))

15   голосов, оценка 4.200 из 5


СОХРАНИТЬ ССЫЛКУ