首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试HTML表是否用于布局和数据?

测试HTML表是否用于布局和数据?
EN

Stack Overflow用户
提问于 2012-07-02 17:08:12
回答 1查看 646关注 0票数 3

这是一个更多的网络刮擦问题。有哪些公认的方法可以自动确定<table>是否用于布局,而对于某些您从未见过的HTML中的数据呢?

我希望能够将任何HTML文件作为字符串传递到某个函数中,该函数将HTML页面中的所有数据表突现出来,但忽略纯粹用于布局的表。但是像http://news.ycombinator.com/newcomments这样的网站使用HTML来进行布局,这使得它变得很棘手。

这个函数不应该适合任何特定网站的DOM结构,所以它应该与任何HTML字符串一起工作(或者有尽可能高的成功率)。

多年来,人们是否发现了哪些算法/检查可以区分布局和数据表?这应该是可能的,这只是一个写下所有变量和试验/错误的问题--我想很多人已经在某个地方画了出来。

我不一定需要这个函数(虽然这会很棒,但我想它需要很多微调)。只是在寻找一些尝试过的策略。

更新

这是一个很好的开始(谢谢@JaredFarrish):

  • 一种基于机器学习的Web表格检测方法
  • 关键词:表格检测,布局分析,机器学习,决策树,支持向量机,信息检索
EN

回答 1

Stack Overflow用户

发布于 2012-07-02 17:39:48

用于布局的表通常将

  • 每行有几行和几个单元格。
  • 在单元格中包含长度不一致的内容
  • 在单元格中有很多HTML
  • 可使用colspan /行跨度
  • 存在于DOM顶部附近
  • 不使用<th><thead>
  • 包含其他表

用于数据的表通常会

  • 每行有更多行和更多单元格
  • 在单元格中有长度相当一致的内容
  • 缺少单元格内的HTML结构(如<div><p>;查看<b><strong>等并不排除数据)
  • 可能不使用colspan,也很可能不使用行跨度。
  • 不包含其他表

当您刮表时,根据这些标准对其进行评估和评分,将分数和权重应用于这些标准,并使用最后的分数来决定它是布局还是数据。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11298113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档