我想识别网站中具有主菜单的div元素。
我想到的方法:
- 使用 Beautiful Soup 解析 HTML
- 菜单通常有最高链接 密度即 anchor 标签计数或寻找带有所有 li 标签的 ul 有链接
上述方法可能会失败,因为在各种网站中 - 页脚元素可能具有高链接密度(例如:www.langoor.com)
另一种方法 是在 div 元素的“id”或“class”属性中查找关键字“menu”。这是一种非常昂贵的方法,因为我们最终可能会搜索很多单词。
如果你能帮助我寻找正确的方向来解决这个问题,那就太好了。 谢谢!
最佳答案
这很难,因为 html 中的菜单没有标准化。在 DOM 树中搜索 ul/li,在第一个或第二个 div(页脚之前)中使用关键字(“菜单”等)——这些地方通常用于菜单。或者等待 html5 和 nav 标签。
关于html - 如何使用 BeautifulSoup 识别各种网站的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7735921/