html - 如何使用 BeautifulSoup 识别各种网站的菜单?

标签 html css beautifulsoup

我想识别网站中具有主菜单div元素。

我想到的方法:

  1. 使用 Beautiful Soup 解析 HTML
  2. 菜单通常有最高链接 密度即 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/

相关文章:

html - 在我的 Razor View 中使用 col-sm 和 col-xs

Python3 BeautifulSoup 在字典中插入每个标签(也嵌套)

python - 使用 Python 抓取 .aspx 表单

Python Beautifulsoup - 问题阅读 <span>

javascript - 用纯 javascript 覆盖全局 css

javascript - 鼠标中键单击链接仅打开新选项卡 ASP C#

javascript - 使用 onclick 函数动态添加表格行

javascript - 如何为粘性标题设置动画?

html - WordPress 生成的文件用 HTML 编辑

css - 为什么当我将鼠标悬停在图像上时它不起作用?