解析html網(wǎng)頁的數(shù)據(jù)
用于解析html網(wǎng)頁數(shù)據(jù)。
作者說:ZHParseHtmlData這個類是我自己寫的,解析html的。發(fā)現(xiàn)之前用過的TFHpple還有許多都有問題,有的GB2312或者其他編碼會亂碼或者是不規(guī)范的Xml或者不規(guī)范的html都解析不出來。現(xiàn)在用我這個類讓瀏覽器對之前頁面優(yōu)化再解析就可以了,只要解析的類是GDataXMLNode,谷歌的東西。也可以用JS解析,但是那樣太麻煩,為何不拿著谷歌現(xiàn)有的用呢。
Common.h這個是我寫的一個公共方法類,為了方便就拿過來了。
用的時候?qū)τ诠雀璧念愐砑觢ibxml2.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是解析的網(wǎng)頁地址
pathArray 是解析xpath表達式數(shù)組
//下面實在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
這個是回調(diào)函數(shù),arr是一個大數(shù)組,patharray幾個元素,這個arr幾個元素,每一個元素又是一個大數(shù)組,每一個元素對差找到的元素。每一個元素里面是一個字典,字典包含了這個元素所包含的元素,鍵值是對應(yīng)元素的atrrbute(單詞可能寫錯了),stringValue是這個元素在網(wǎng)頁顯示的內(nèi)容。
進行下一步必須要把ZHParseHtmlData這個頁面去掉:
[VC removeFromSuperview];
可能還有一些bug,但是總體來說解析還是沒問題的。有什么問題和BUG可以私信我。 [Code4App.com]
