如何从html中提取文本内容,如稍后阅读或InstaPaper Iphone应用程序?

时间:2011-05-11 07:52:18

标签: iphone uiwebview uitextview

我想从我的Iphone应用程序中的html中提取主要文章内容 在TextView或CoreText上显示它。

稍后阅读并且InstaPaper Iphone应用程序具有此功能,但在网络上进行研究后, 我还是不知道他们是怎么做到的。

目前,我通过此代码从html中获取文本内容,但它也需要很多不需要的内容。

textArticle = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerText"];

这个问题是我想要的,但遗憾的是它不适用于Iphone app Instapaper-like algorithm

这是此类功能的开源,但我不确定是否可以将其用于Iphone应用。 https://github.com/jiminoc/goose/wiki

以前似乎更聪明地提供api,但它现在不可用。 http://smartrmobi.blogspot.com/2011/02/smartr-api-withdrawn-until-further.html

也许,最简单的方法是从xml元素中获取文章内容,但这只是我的猜测。

我想知道从哪里开始,所以我真的很感激任何建议。

由于

3 个答案:

答案 0 :(得分:11)

经过研究,似乎我可以使用api从web中提取文本内容。 这意味着我需要在获取url并再次呈现结果后访问网页。

它比仅使用上面显示的js脚本慢,因为它需要访问web api但是 稍后阅读它,instapaper我都在使用这种方法。

以下是我到目前为止发现的网络API。

http://viewtext.org/

这个api有很好的功能,它将多页文章合二为一。 我正在使用这个API,因为其他api没有这个功能。

http://fivefilters.org/content-only/

关于这一点的好处是你可以购买脚本并在你自己的服务器上进行设置。

*的 更新 *

似乎大多数应用都使用“可读性”或“Ins​​tapaper”或“Google”动员来解析网络上的文字内容。

其中,我最喜欢的是“可读性”解析器,因为它没有像Instapaper解析器那样的广告。 (尽管将广告用于支付服务器成本没有错误)

Pocket还仅为创建口袋集成应用程序的开发人员提供文章解析器。

答案 1 :(得分:0)

答案 2 :(得分:0)

使用Newspaper3k,太棒了。

  

Python 3中的新闻,全文和文章元数据提取。

https://github.com/codelucas/newspaper