libtidy + NSXMLParserを試してください:
doc = [[NSXMLDocument alloc]
initWithContentsOfURL:url
options:(NSXMLNodePreserveWhitespace|NSXMLNodePreserveCDATA)
error:&err];
if (!doc) {
doc = [[NSXMLDocument alloc]
initWithContentsOfURL:url
options:NSXMLDocumentTidyHTML
error:&err];
}
From the doc, NSXMLDocumentTidyHTML
: Formats HTML into valid XHTML during processing of the document.
これでうまくいかない場合は、HTMLソースをUIWebViewにロードし、javascriptを使用してDOMにアクセスすることができます。