Есть меню сайта в html - сделано через вложенные списки:
<ul>
<li><a href="cat">Cat</a></li>
<li><a href="cat2">Cat2</a>
<ul>
<li><a href="subcat">Subcat</a></li>
<li><a href="subcat2">Subcat2</a></li>
</ul>
</li>
<li><a href="cat3">Cat3</a></li>
</ul>
Уровень вложенности везде разный (максимальный - 3, но желательно этого не предполагать)
Это меню нужно превратить в таблицу:
"Cat" url
"Cat2" url
"Cat2" "Subcat" url
и т.д.
То есть нужно взять и обойти рекурсивно дерево.
Какими библиотеками пользоваться (использую python3)? Как обойти дерево рекурсивно, не зная глубины?
Как вариант можно использовать библиотеку BeautifulSoup.
Там у объекта супа есть свойство .descendants
, пример смотри тут.
И уже в самом цикле ты делаешь соответствующие проверки, которые тебе нужны, а так же создаешь нужную структуру на выход.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Подскажите, как реализовать поиск заданного слова на html странице?
Стоит задача поиска всех не повторяющихся тегов без атрибутов (например, head, body) в HTML файле с помощью регулярных выражений