2011-10-12 52 views
0

我想识别在网站中具有主菜单的元素div元素。如何识别使用BeautifulSoup的各种网站中的菜单?

的方法我想到的是:使用

  1. 解析HTML美丽的汤
  2. 菜单通常拥有最高的链接 密度即锚标记计数或寻求与所有李标签 有联系
  3. 的UL

上述方法可能会失败,因为在各种网站 - 页脚元件可具有高交联密度(例如:www.langoor.com

另一种方法将在div元素的“id”或“class”属性中查找关键字“menu”。这是一个非常昂贵的方法,因为我们最终可能会搜索很多单词。

如果你能帮助我寻找正确的方向来解决这个问题,那将是非常好的。 谢谢!

回答

0

这很难,因为html中的菜单没有标准化。在第一个或第二个div(页脚之前)中用关键字(“菜单”等)在DOM树中搜索ul/li - 这些位置通常用于菜单。或者等待html5和nav标签。