【问题标题】:Nokogiri strategy for identifying largest text on a page?用于识别页面上最大文本的 Nokogiri 策略?
【发布时间】:2013-06-27 23:31:18
【问题描述】:

我正在对大量的着陆页进行比较。我正在尝试提取主标题和号召性用语,但是页面的 HTML 格式当然变化很大。

我开始寻找 H1、H2 等,假设标题标签对应于首要性,但通常情况并非如此。渲染的 font-size* 可能是一个更好的指标,但是这看起来很混乱,并且无法处理使用带有 alt 标签的图像的情况。

什么是使用 Nokogiri 识别 100 个狂野着陆页的主标题的好策略?

*Also- 是否有用于渲染字体大小的巧妙选择器?

【问题讨论】:

  • 如果他们在 h1/2 中没有标题,上帝保佑他们的谷歌位置 ;)

标签: ruby xpath html-parsing nokogiri text-parsing


【解决方案1】:

除非您运行的 AI 能够确定文档中语义上最重要的部分,否则您无法做到这一点。

您不能指望标签,例如标题或元标签,因为它们可能会完全丢失。

你不能指望源中的位置,因为 CSS 可以将东西移动到任何地方。

而且,即使您认为通过查看 CSS 已经掌握了它,JavaScript 也可以从您身上撕下这个现实,因为它可以覆盖所有内容,依赖于需要人类的眼睛和大脑才能理解的事实最终呈现的页面。

因此,基本上,除非您有能够理解页面内容并确定单词出现频率及其同义词及其词根的代码,然后确定 CSS 和 JavaScript 运行之后它们在页面上的位置。

这确实是一项艰巨的任务,很多大公司都在投入大量资金。

【讨论】:

  • 同意。我花在这方面的时间越多,我添加到数据集中的页面集就越大,我发现的边缘案例就越多。我倾向于使用一组相对愚蠢的启发式方法来提取 80/20 的解决方案,然后将其与页面的屏幕抓取并排建议以进行人工确认/清理。
  • 这就是我走的路。当我编写代码来进行关键字分析时,我受益于与一位在该领域拥有博士学位的语言学专家合作,而且我们如何通过不同的途径得出相同的结论来解决这个问题的难度,这真的很有趣特别的坚果。这是一个巨大的挑战。
猜你喜欢
  • 2011-08-09
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 2020-02-16
  • 1970-01-01
  • 2019-08-15
  • 1970-01-01
  • 2021-01-03
相关资源
最近更新 更多