【问题标题】:What techniques are there to extract a navigational menu from a web page?有哪些技术可以从网页中提取导航菜单?
【发布时间】:2023-03-20 19:45:01
【问题描述】:

我正在寻找一种方法来从包含大量链接(可能还有文本)的网页中提取用于导航的菜单。我感兴趣的页面是非常简单、有效的 XHTML,并且可以安全地假设菜单位于页面的开头或结尾。但是到目前为止,我还没有找到一种很好的通用方法来找到它的确切位置 - 我希望你能在这方面帮助我。

快速说明:我不是在寻找诸如可读性之类的东西 - 找到主要文章并删除其他所有内容,而是寻找专门找到菜单的东西。 此外,“找到一个有很多链接作为继任者的元素”这种幼稚的方法也不能很好地工作——因为我的页面往往包含很长的链接列表。

编辑:我需要菜单来获取其中链接的页面的内容(我为信息提取项目构建了一个网络抓取工具)。 我使用的一些示例页面:

【问题讨论】:

  • 你能给个页面样本吗?
  • 1。你想用菜单做什么? 2。我们可以看到页面吗?否则无法为您提供帮助。
  • 关于示例页面 - 我已经添加了一些,但主要问题是我正在寻找一个尽可能少页面特定的解决方案。

标签: data-mining text-mining information-extraction web-scraping


【解决方案1】:

我会计算 {子元素文本 in 链接的长度总和} 与 {子元素文本 out 链接的长度总和} 的比率。如果比率高于某个阈值,并且链接的绝对数量高于某个阈值,那么您可以假设该元素包含一个菜单。

如果这还不够,您必须渲染页面(例如在浏览器中,或使用 webkit 库无头)以获取渲染元素在页面上的位置。

【讨论】:

  • 您能否详细说明呈现页面将如何帮助/可以用于自动设置?
  • 还有一些标准名称应该用作“家”、“关于我们”等功能
【解决方案2】:

正如 Drag0nR3b0rn 提到的,您应该使用链接/非链接文本比率 + 常用菜单词作为特征和手动/训练的决策树。对于爬行,我会推荐 HtmlUnit

【讨论】:

  • 其实user481112提到过
猜你喜欢
  • 2011-08-08
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-19
  • 2010-10-09
  • 1970-01-01
相关资源
最近更新 更多