【问题标题】:Scraping a web page based on fonts and font-size根据字体和字体大小抓取网页
【发布时间】:2015-07-03 10:57:43
【问题描述】:

HTML 文本抓取可通过可在网络上找到的各种库来实现。我正在尝试从各种 HTML 页面解析网页的最大标题(标题)——仅此而已。

我正在尝试从数百页(它可以是产品页面或文章页面等)中自动检测项目的主标题。如果有一种方法可以根据网页中可用文本的字体和字体大小做出我的解析决定,那就太好了。由于主标题几乎总是网页中字体最大的文本,因此这些信息可以让我深入了解在哪里可以找到标题。

所以问题是,有没有什么办法可以做到这一点?

【问题讨论】:

  • 不是更容易找到最高的“”元素吗? IE。如果有一个<h1></h1> 之间有一些文字,请使用它。否则尝试 h2, h3, ...
  • 不幸的是,它并不总是在 标记中,即使有时在实际产品/商品名称/标题之上还有各种其他元素。编辑的问题不应提及可能与
    混淆的标题
  • 基于尺寸的检测的问题在于计算尺寸的来源太多。您可能需要一个实际的 HTML 渲染器,并从中读取有效大小。此外,有时标题并不是网站上最大的文字。
  • 是否有任何图像处理库可以检测网页中的片段?我知道一些不是免费的,但据我所知没有免费的。
  • 即使是近似值也是有用的。所以也许你可以给我第一个寻找可能有这些信息以及如何做到这一点的地方。例如,有没有办法获取 css 并解析它。

标签: html fonts web-scraping


【解决方案1】:

假设你可以做到like this,但这是一项非常耗费资源的任务,因为你要遍历正文中的所有 html元素。

var text,
    size = 0;

$("body, body *").each(function() {
    var f_size = parseInt($(this).css("fontSize"));
    if (size<f_size) {
        text = $(this).text();
        size = f_size;
    }
    console.log(this.tagName + " " + f_size);
});

【讨论】:

  • 在我过滤掉 html 的不必要部分后,它实际上工作得很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
  • 2021-07-18
  • 2023-03-09
相关资源
最近更新 更多