【问题标题】:Making a Safari Reader-style application制作一个 Safari 阅读器风格的应用程序
【发布时间】:2012-06-25 19:03:46
【问题描述】:

我受到 Safari 阅读器功能的启发,该功能可让您忽略网页上除故事之外的所有内容(构成页面要点的所有文本、链接和图像,但不包括标记、前因、或后果)。我想制作一个 基于 Java 的版本作为轻量级“浏览器”。

我的问题在这里:我不知道如何辨别主要内容。在检查了诸如MSN articlesfan fictions 这样的Reader 识别页面后,我意识到Reader 识别的实际文本不仅很难找到,而且不一致并且被看似随机的标签打断。例如,新闻链接以<div class="postBody"> 开头,每个段落都在<p>s 中,而链接的小说以<div class="chapter_content" id="chapter_container"> 开头,每个段落都以<br /><div style='float:left; height:1.0em; width:3.0em;'></div> 开头,但不在其自己的容器中。

由于 Safari 支持这个“阅读器”界面,显然有办法做到这一点,所以我不会问它是否存在。相反,我想知道这一点:什么是一种好的、快速、Java 支持的算法,用于提取网页上故事的标题和正文,无论页面本身如何,构造好了吗?

对于上下文,我已经创建了一个以 JEditorPane 作为窗口的基本浏览器,其 EditorKit 设置为 HTMLEditorKit,并且正在使用 setPage(URL page) 方法来显示目标页面,但这可以改变我需要.

【问题讨论】:

    标签: java html webpage interpreter


    【解决方案1】:

    如果您愿意使用服务,您应该查看InstapaperReadability API;否则,您可以窥视 arc90 lab's JavaScript proof-of-concept implementation 的可读性。您还可以在 GitHub 上找到 several ports of Readabilityseveral other languages

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-08
      • 2023-04-03
      • 2011-07-12
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      相关资源
      最近更新 更多