Я создаю программу, которая сбрасывает веб-сайт. Он просматривает весь веб-сайт и использует только навигационные меню верхнего и нижнего колонтитула с этого веб-сайта, а затем вставляет новые html-теги (div, p, table и т. Д.) Между меню заголовка и нижнего колонтитула.Как я могу очистить веб-сайт только для навигационного меню
Я ищу некоторые идеи о как раздеть только меню заголовка и колонтитула нав, а также добавить код между двумя.
Я использую HTML Agility Pack
и работал над несколькими методами.
Метод 1:
В большинстве случаев, верхний и нижний колонтитулы навигации по меню в основном ссылки, и имеют очень мало текста. Я использовал пороговую переменную, что было отношением текста к ссылкам. Если отношение text: links для узла равно меньше порога, узел будет считаться узлом меню, а он будет сохранен. Любой узел, чей текст: ссылки был больше , пороговое значение будет удалено.
Метод 1 работал на некоторых сайтах, но не для других, поэтому я бросил его.
Метод 2:
Я искал каждый узел атрибута ид или класс, который включал или «меню» «нав». «n», «a», «v», «m», «e», «n», «u» могли быть в верхнем регистре или в нижнем регистре , а «nav» и «menu» могли быть окружены любая комбинация символов. Таким образом, он будет включать в себя классы id и , такие как «bottomNav», «navRight1», «LeftMenu2» и т. Д. Если идентификатор или класс содержит либо «nav», либо «menu», узел будет сохранен. Если атрибуты узла не содержали ни одного из этих терминов, либо любой из потомков узла не содержал ни одного из этих терминов, узел был бы удален.
Опять же, метод 2 работал на некоторых сайтах, но не для других.
Для сайтов, на которых работал любой из этих методов, я все еще не мог поместить новый HTML-код между двумя меню, потому что я не мог сказать, где закончилось меню заголовка, и где началось меню нижнего колонтитула ,
Я просто ищу другие идеи о том, как очистить только меню навигации верхнего и нижнего колонтитула с веб-сайта и вставить новый html-код между ними.