iOS開發中的HTML解析


最近在抓取網絡數據並進行解析式遇到了html格式,由於平常解析JSON和XML格式數據較多,對html的解析有些生疏了。
下面簡單記錄一下使用是網上的第三方類TFHpple類進行HTML解析。
在進行解析前,先將下面的第三方類添加到工程中:
iOS開發中的HTML解析

添加以上三個類必須添加一個庫,這個庫是:libxml2.2.dylib。

還需要設置一些路徑參數這個路徑的設置,在 targets中,在build settings搜索Header Search Paths,將debug和release設置不同的值;

debug的值設置成:/usr/include/libxml2

release的值設置成:${SDKROOT}/usr/include/libxml2

將以上內容設置好后,將#import "TFHpple.h"添加到解析html的類中,再寫解析方法;

一般思路如下:

1.首先將網頁的html轉換成oc能夠認識的NSString數據;用到的方法如下:

NSString *dataString = [NSString stringWithContentsOfURL:[NSURL URLWithString:htmlString] encoding:NSUTF8StringEncoding error:nil];  //htmlString是html網頁的地址

iOS開發中的HTML解析

url為保存html網頁的地址,根據數據編碼格式的不同來選擇NSString的編碼格式,格式錯誤則會報錯261

2.截取所需數據所在的位置,得到最后所需解析的字段contEnd

iOS開發中的HTML解析

3.將dataString轉換成NSData,給TFHpple類用

NSData *htmlData = [contEnd dataUsingEncoding:NSUTF8StringEncoding];//contEnd是需要解析的字段

iOS開發中的HTML解析

3.設置html中節點,根據節點取值,例如

.....

,可以用節點來取值;

使用htmlData和nodeString,解析自己需要的值:

iOS開發中的HTML解析

NSArray * elements 這個數組中就有需要的值

遍歷數組,就可以將需要的內容提取出來

iOS開發中的HTML解析


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM