iphone - 如何从HTML中提取文本内容,例如“稍后阅读”或InstaPaper Iphone应用?

标签 iphone uiwebview uitextview

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

稍后阅读,InstaPaper Iphone应用程序具有此功能,但是在网上进行研究后,
我仍然不知道他们是如何做到的。

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

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


这个问题是我想要的,但可悲的是它不是针对Iphone应用程序的。
Instapaper-like algorithm

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

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

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

我想知道从哪里开始,所以我非常感谢任何建议。

谢谢

最佳答案

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

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

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

http://viewtext.org/

此api具有非常好的功能,可以将多页的文章合并为一个。
我正在使用此API,因为其他API没有此功能。

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

很棒的事情是您可以购买脚本并在自己的服务器上进行设置。

*更新*

似乎大多数应用程序都使用“可读性”或“ Instapaper”或“ Google”动员器来仅解析来自网络的文本内容。

其中,我目前最喜欢的是“可读性”解析器,因为它不像Instapaper解析器那样带有广告。 (不过,投放广告来支付服务器费用没有错)

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

关于iphone - 如何从HTML中提取文本内容,例如“稍后阅读”或InstaPaper Iphone应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960948/

相关文章:

swift - UITextView 避免 collectionViewCell 被点击

ios - 带有大 NSAttributedString 的 UItextView 的滚动性能问题

ios - 在 iOS 中使用 Geocoder 类根据地址获取经纬度

iphone - 通过协议(protocol)比较/相等两个对象

swift - UIWebview 崩溃,错误为 :EXC_BREAKPOINT (CODE=EXC_I386_BPT, SUBCODE = 0X0)

ios - 如果有条件,加载 TableView ,否则加载 web View xcode

ios - 如果从设备中的键盘设置关闭文本预测,UITextView inputAccessoryView 不会显示

ios - IPA 的大小取决于哪些因素?

iphone - 三个整数比较

uiwebview - 无法选择具有固定布局 .epub 文档的单个单词