Как идентифицировать меню на разных сайтах, используя BeautifulSoup? - PullRequest
0 голосов
/ 12 октября 2011

Я хочу идентифицировать элемент div , который имеет главное меню на веб-сайте.

Подход, о котором я думаю:

  1. Разбор HTML с использованием Beautiful Soup
  2. Обычно меню имеют самую высокую плотность ссылок, т.е. количество тегов привязки, или ищут ul со всеми тегами li, имеющими ссылки

Приведенный выше подход может дать сбойпотому что на разных веб-сайтах элемент нижнего колонтитула может иметь высокую плотность ссылок (например: www.langoor.com )

Другой подход состоит в поиске ключевого слова "menu "in" id "или" class "атрибуты элементов div.Это очень дорогой подход, так как мы могли бы в конечном итоге искать много слов.

Было бы здорово, если бы вы помогли мне посмотреть в правильном направлении, чтобы решить эту проблему.Спасибо!

1 Ответ

0 голосов
/ 12 октября 2011

Это довольно сложно, потому что меню в html не стандартизированы. Поиск в дереве DOM ul / li с ключевыми словами («меню» и т. Д.) В первом или втором div (перед нижним колонтитулом) - эти места обычно используются для меню. Или дождитесь html5 и тега nav.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...