Android:摘录文章主要内容

Android:摘录文章主要内容,android,html,jsoup,extraction,Android,Html,Jsoup,Extraction,目前,我正在创建一个Android应用程序,它允许从网站中提取主要内容和图片。现在我使用JsoupAPI从HTML中提取所有p标记。然而,这并不是一个好的解决办法。有什么建议或更好的解决方案可以让我从Android网站中提取主要内容和图片吗?为什么你认为使用Jsoup不是一个好的解决方案 我已经为不同的网页编写了许多web scraper,根据我的经验,Jsoup是完成这项任务的方法。你应该学习它的强大功能,使用正确的选择器,你可以很容易地从HTML文档中提取大部分信息。通常,当文档没有id、c

目前,我正在创建一个Android应用程序,它允许从网站中提取主要内容和图片。现在我使用
Jsoup
API从HTML中提取所有
p
标记。然而,这并不是一个好的解决办法。有什么建议或更好的解决方案可以让我从Android网站中提取主要内容和图片吗?

为什么你认为使用Jsoup不是一个好的解决方案

我已经为不同的网页编写了许多web scraper,根据我的经验,Jsoup是完成这项任务的方法。你应该学习它的强大功能,使用正确的选择器,你可以很容易地从HTML文档中提取大部分信息。通常,当文档没有
id
class
属性或其他独特功能时,提取信息变得更加困难


您可能感兴趣的其他HTML解析器是和

为什么您认为使用Jsoup不是一个好的解决方案

我已经为不同的网页编写了许多web scraper,根据我的经验,Jsoup是完成这项任务的方法。你应该学习它的强大功能,使用正确的选择器,你可以很容易地从HTML文档中提取大部分信息。通常,当文档没有
id
class
属性或其他独特功能时,提取信息变得更加困难


您可能感兴趣的其他HTML解析器是和

我没有找到任何适合我的,因此我发布了适用于Android的Goose,如下所示:

下面是一些描述

文件清理

当您将URL传递给Goose时,它首先要做的就是清理 修改文档以使其更易于解析。它将通过 完整文档并删除评论,共享社交网络 元素,将em和其他标记转换为纯文本节点,尝试 将用作文本节点的div转换为段落,以及执行常规 文档清理(空格、新行、引号、编码等)

内容/图像提取

当处理随机文章链接时,你一定会遇到 最疯狂的HTML文件。有些网站甚至喜欢包含2个或更多的HTML 每个站点的文件数。Goose使用一个基于数据聚类的评分系统 在代码中可以找到英语停止词和其他因素。 Goose也会在节点向下移动时进行下降计分,即 他们的分数越低,他们的成绩就越差。目标是找到最强的分组 父容器中的文本节点数,并假定这是相关的 一组内容,只要它在页面上足够高

图像提取是耗时最长的一种。试图找到 页面上最重要的图像被证明是具有挑战性和必需的 下载所有图像以使用外部 工具(并非所有图像都考虑在内,而是mime类型, 维度、字节大小、压缩质量等)。Java的形象 功能太不可靠和不准确了。在Android上,Goose 使用BitmapFactory类,它经过良好的文档记录、测试,并且 快速准确。图像从显示的顶部节点进行分析 在中查找内容,然后进行递归运行,向外尝试 找到好的图片-Goose还会检查这些图片是否是广告、横幅 或作者徽标,如果是,则忽略它们

输出格式设置

一旦Goose有了我们认为内容所在的顶部节点,Goose就会 尝试为输出格式化该节点的内容。例如 对于NLP类型的应用程序,Goose的输出格式化程序只会吸取所有 文本并忽略所有其他内容,其他(自定义)提取器可以 设计旨在提供更具Flipboard风格的体验


我没有找到任何适合我的东西,所以我发布了适用于Android的Goose,如下所示:

下面是一些描述

文件清理

当您将URL传递给Goose时,它首先要做的就是清理 修改文档以使其更易于解析。它将通过 完整文档并删除评论,共享社交网络 元素,将em和其他标记转换为纯文本节点,尝试 将用作文本节点的div转换为段落,以及执行常规 文档清理(空格、新行、引号、编码等)

内容/图像提取

当处理随机文章链接时,你一定会遇到 最疯狂的HTML文件。有些网站甚至喜欢包含2个或更多的HTML 每个站点的文件数。Goose使用一个基于数据聚类的评分系统 在代码中可以找到英语停止词和其他因素。 Goose也会在节点向下移动时进行下降计分,即 他们的分数越低,他们的成绩就越差。目标是找到最强的分组 父容器中的文本节点数,并假定这是相关的 一组内容,只要它在页面上足够高

图像提取是耗时最长的一种。试图找到 页面上最重要的图像被证明是具有挑战性和必需的 下载所有图像以使用外部 工具(并非所有图像都考虑在内,而是mime类型, 维度、字节大小、压缩质量等)。Java的形象 功能太不可靠和不准确了。在Android上,Goose 使用BitmapFactory类,它经过良好的文档记录、测试,并且 快速准确。图像从显示的顶部节点进行分析 在中查找内容,然后进行递归运行,向外尝试 找到好的图片-Goose还会检查这些图片是否是广告、横幅 或作者徽标,如果是,则忽略它们

输出格式设置

一旦Goose有了我们认为内容所在的顶部节点,Goose就会 尝试为输出格式化该节点的内容。例如