解析html网页的数据 介绍
用于解析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可以私信我。 [jb51.cc]
解析html网页的数据 官网
http://code4app.com/codesample/5201c1a76803fa2156000000
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。