从Pocket和Instapaper等URL中提取可用文本

时间:2015-03-27 17:57:48

标签: objective-c

我知道这个问题是针对C#和其他可能的语言提出的,但我还没有为Objective-C(Xcode)找到一个

可在此处找到C#问题C# Version

我希望获取任何网址(NSURL或NSString)并将该网页内容转换为。

1)该网页的标题(新文章标题)

2)该文章的图像(第一主要图像)

3)文章本身(纯文字,无广告)

这是三件大事。我也想拥有

1)作者

2)更新日期

3)发布文章的网站

但那些并不重要。

我设置代码以解析实际文章(我没有完成我想要的工作)的方式是:

- (void)viewDidLoad {
    [super viewDidLoad];
    NSURLRequest *request = [NSURLRequest requestWithURL:finalUrl];

[self.webview loadRequest:request];

}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSString *fullArticle = [self.webview stringByEvaluatingJavaScriptFromString:@"document.body.innerText"];
    self.story.text = fullArticle;
    NSLog(@"Article:  %@",fullArticle);
}

finalUrl是一个NSURL变量。

NSLog显示来自网页内部主体的所有文本,但包括许多额外的"垃圾"我不想要的,它也没有回馈标题,图像或我想要的任何其他东西。

那么如何在Objective-C中完成呢?我知道Pocket在应用程序中做得非常好。

1 个答案:

答案 0 :(得分:0)

Readability.com有一个令人难以置信的API,允许这样做。 它被称为Parser API。

步骤:

  1. 创建可读性帐户

  2. 转到“开发者”部分

  3. 生成代币

  4. 将可读性API网址与您的令牌和您要解析的网址一起使用。

  5. 它将返回一个填充了您想要的所有内容的HTML页面。