解析html网页的数据

联合创作 · 2023-09-26 17:29

用于解析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里面定义的解析方法,方便自己使用。
#define LOADING_DATA_FORM_HTML(hostString,pathArr)
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]

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报