用于解析html网页数据。 作者说:ZHParseHtmlData这个类是我自己写的,解析html的。发现之前用过的TFHpple还有许多都有问题,有的GB2312或者其他编码会乱码或者是不规范的Xml或者不规范的html都解析不出来。现在用我这个类让浏览器对之前页面优化再解析就可以了,只要解析的类是GDataXMLNode,谷歌的东西。也可以用JS解析,但是那样太麻烦,为何不拿着谷歌现有的用呢。 Common.h这个是我写的一个公共方法类,为了方便就拿过来了。 用的时候对于谷歌的类要添加libxml2.2.dylib和在 build setting>header search paths添加/usr/include/libxml2 对于svp,我们要添加QuartzCore.framework这个库。如果使用ARC,请在pases声明这个类不用ARC -fobjc-arc 使用方法: LOADING_DATA_FORM_HTML(stringUrl, pathArray); stringUrl是解析的网页地址 pathArray 是解析xpath表达式数组 //下面实在pch里面定义的解析方法,方便自己使用。
ZHParseHtmlData viewController=[[ZHParseHtmlData alloc] init]; viewController.ADelegate=self; viewController.hostUrl=hostString; if(pathArr.count>0) { viewController.pathArray=pathArr; } else if(pathArray.count==1) { viewController.pathString=pathArr[0]; } [viewController loadHtmlData:self.view]; -(void)returnHtmlData:(NSMutableArray )arr VC:(ZHParseHtmlData *)VC 这个是回调函数,arr是一个大数组,patharray几个元素,这个arr几个元素,每一个元素又是一个大数组,每一个元素对差找到的元素。每一个元素里面是一个字典,字典包含了这个元素所包含的元素,键值是对应元素的atrrbute(单词可能写错了),stringValue是这个元素在网页显示的内容。 进行下一步必须要把ZHParseHtmlData这个页面去掉: [VC removeFromSuperview]; 可能还有一些bug,但是总体来说解析还是没问题的。有什么问题和BUG可以私信我。 [Code4App.com]