2012-03-03 15 views
1

ウェブページを読み込み、記事のテキストとタイトルのみを解析して、これをビューに表示したいとします。 UIWebVIewを使用せずにこれを行うことは可能ですか?可能であれば、私は組み込みの関数とプラグインを使わない方が好きです。 ありがとうございます。ウェブサイトのテキストを解析してビューに表示する方法

答えて

5

HTTP要求を作成してHTMLコンテンツ文字列を取得し、その文字列を解析することができます。あなたがWebページを解析し、他のすべてのものなしに、「記事」、およびそのタイトルと関連性があるものを手に入れる必要がある場合は

NSError *error = nil; 
NSString *html = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"] encoding:NSASCIIStringEncoding error:&error]; 
if(html) { 
    NSLog(@"HTML %@", html); 

    NSRange r = [html rangeOfString:@"<title>"]; 
    if (r.location != NSNotFound) { 
     NSRange r1 = [html rangeOfString:@"</title>"]; 
     if (r1.location != NSNotFound) { 
      if (r1.location > r.location) { 
       NSString *title = [html substringWithRange:NSMakeRange(NSMaxRange(r), r1.location - NSMaxRange(r))]; 
       NSLog(@"title %@", title); 
      } 
     } 
    } 
} else { 
    NSLog(@"Error %@", error); 
} 
3

は、あなたが何かを必要とする: たとえば、HTMLのタイトルを取得しますDiffbotのように、記事のタイトル、著者、テキスト、およびコンテンツに関連するイメージを取得できます。 Diffbotは月に10.000を超えるAPI呼び出しを行うアプリケーションに対して支払われます(それほど多くはありません)。 Readability、Pocket(旧Read It Later)、Instapaperのようなアプリケーションは、ユーザーが後で複数のデバイスに読み込むために解析された記事を保存できるため、パブリックAPIを備えています。しかし、PocketはそのAPIを解析専用に使用することはできません。可読性は、要求に応じてパーサ(「Content API」)へのアクセスを提供すると思われます(私はその要求をしませんでしたが、将来は必要になるかもしれません)。他の2つとは違って、私はアプリケーションとして使ったことがないので、この種の使用が可能かどうかは明らかではありません。

私の答えは、何ヶ月も遅れてもまだ役立つことを願っています。あなたが見つけた解決策を(もしあれば)簡単に返信してください。

P.S.:明らかに、新しいユーザーとして、私はあなたに2つのリンクを与えることが許されています。私は後続のものをすべて削除しましたが、最初の2つはとにかくもっとも便利です。

+0

あなたのリンクはOPに特に興味がないと言われていたものです。 –

関連する問題