开发者社区> 问答> 正文

如何识别並提取网页正文?

啓發自:如何将一个网页的文本全部提取出来?

很多類似 readability 的服務,都能識別並提取網頁的正文,比如 Safari 的 Reader View。記得 Google 也會識別並增加「正文」的關鍵字權重。

大多數情況效果很好,偶爾也會出現誤包含其它部分的情況。

那麼,首先,技術上如何實現這一功能?包括但不限於利用 HTML5。

其次,如何儘可能避免匹配不完整/過多的情況?

目前的思路有二

一是完全依賴正確使用的 HTML5 標籤的語義、以及特定含義的 class

二是進行統計,以 block 元素進行分層,得到更高(更廣)一層不會顯著增加字數的一層即爲正文層。

困窘:對於知乎這類包含多個獨立正文的情況,如何處理

展开
收起
杨冬芳 2016-06-16 11:09:16 2334 0
1 条回答
写回答
取消 提交回答
  • IT从业

    有个基于行块密度的简单算法 可以很容易在网上搜到(似乎就是你的第二点)
    但是这种东西肯定需要大量的经验 即便是行块密度也要根据经验过滤掉不应该是正文的东西
    除了你要适配页面 页面也要正规 比如h1-hx做标题,p做段落,ul表示列表,正文带有content或者.content等告诉移动浏览器来抓这里的东西
    否则自动适配几乎不可能

    但是你不要忘了一点 网页设计就算是再花样 也无外乎那么几种 完全可以预制再程序中 甚至可以内置一些关键词去猜这段文字想描述什么东西

    2019-07-17 19:40:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
营销设计场景下的图像和文字生成 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载