2009-07-07 4 views

答えて

2

正規表現をお勧めします。 RegexKitと呼ばれる、Cocoa用のオープンソースのRegexライブラリがあります。ほとんどの場合、コードにドロップするだけで "うまくいく"ことができます。

すべての画像が<img>タグになると仮定すると、画像のすべてのURLを取得することはあまり難しくありません(20行未満のコード)。すべてのイメージタグを取得するだけです(< img \ s + [^ >] + >)。その後、それらの一致を繰り返します。 src \ s * = \ s *( "| ')?\ s *([^ \ s"'] +)(\ s | "|")それぞれの一致について、

あなたは、そのビットを微調整する必要があるかもしれませんが、それはあまりにも悪いことではないはずです。

1

あなたは正規表現を使用して、それを試みることができるが、私はそれをお勧めしません。 WebページがXHTMLに準拠するようにコーディングされていると仮定して、NSXMLParserを調べる必要があります。 TouchXMLはもう一つの良いライブラリです。

2

超簡単な方法はありません。私がそれをしなければならないとき、私はlibxml2 SAXパーサを書いた。 libxml2には不正な形式のhtmlで正常に動作するhtmlリーダーがあり、libxml2はベースシステムに含まれています。

0

を見て、あなたが使用するすべてのアプローチではJavaScriptを経由して、動的にロードされた画像に拾っていないとOKです。

私が見ることができるもっとも近いことは、JavaScriptの読み込みを解析してそれらを読み込み、ファイル全体で正規表現を使用して ".jpg/.gif/.png"で終わるものを探していることです。そこから完全なURLを取得してください。 libxmlのアプローチは、imgタグではなくイメージへの参照を見逃してしまいますが、十分に良いかもしれません。

3

私は正規表現のために行くと言っています - あなたのプロジェクトにドロップすることができるCのregexestをラップする1ページライブラリがあります。

+0

同意、あなただけのタグを取得するために、全体のドキュメントを解析する必要はありません。 –

関連する問題