iOS开发中的Html解析方法
2014-11-12 14:56
531 查看
本文转载至 http://mobile.51cto.com/iphone-429980.htm
本文作者为大家介绍了在iOS开发中的Html解析方法,并同时提供了Demo代码的下载链接,Demo 解析了某个网站(具体可在代码中查看)的html网页,提取了图片以及标题。
AD:2014WOT全球软件技术峰会北京站 课程视频发布![](http://s1.51cto.com/wyfs02/M00/12/56/wKiom1MEEn2ytbOVAACY55YcV4w592.jpg)
初次解析html,使用是网上的第三方类;我使用的是以下三个类,将其添加到项目中:
#import "TFHpple.h"
#import "TFHppleElement.h"
#import "XPathQuery.h"
添加以上三个类必须添加一个库,这个库是: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网页的地址
2.将dataString转换成NSData,给TFHpple类用
NSData *htmlData = [dataString1 dataUsingEncoding:NSUTF8StringEncoding];
3.设置html中节点,根据节点取值,例如<p>.....</p>,可以用节点来取值;
如NSString *nodeString = @"//p";
使用htmlData和nodeString,解析自己需要的值:
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *elements = [xpathParser searchWithXPathQuery:nodeString]; //这个数组中就有需要的值
(TFHppleElement中提供很多方法,可以用这些方法获取elements的值,如- (NSArray *) children;)
Demo链接:http://code4app.com/ios/%E8%A7%A3%E6%9E%90HTML/5167ca396803faf447000002
相关文章推荐
- iOS开发中的Html解析方法
- iOS开发中的Html解析方法
- 【iOS开发-网络】两种常用的方法解析XML数据
- (转载)深度解析IOS开发中编码转换方法
- iOS开发中常见的解析XML的类库以及简要安装方法
- iOS开发-简单方法实现扒下网站html保存到本地文件
- 关于iOS开发中XML解析的方法
- python解析html开发库pyquery使用方法
- iOS开发init方法解析
- iOS开发--libxml/HTMLparser.h file not found 解决方法 (libxml.dylib错误处理)
- iOS开发-- 使用TFHpple解析html
- IOS开发学习27 ObjectC 自带json解析方法的使用
- iOS开发之html解析(转)
- iOS开发--libxml/HTMLparser.h file not found 解决方法 (libxml.dylib错误处理)
- 深入解析iOS应用开发中九宫格视图布局的相关计算方法
- iOS开发之html解析
- IOS开发之——四种方法解析Json数据(转)
- iOS开发之 Json解析的四种方法
- iOS 基础类解析 - NSCharacterSet___开发中判断空字符串的几种方法
- iOS开发中的HTML解析