文档章节

Html解析方法

未来之人
 未来之人
发布于 2014/01/03 10:45
字数 384
阅读 1086
收藏 7

    初次解析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


© 著作权归作者所有

共有 人打赏支持
上一篇: 启动画面的操作
下一篇: UILabel换行设置
未来之人
粉丝 0
博文 4
码字总数 1420
作品 0
深圳
程序员
私信 提问
使用tika解析word,xml,html,pdf生成lucene索引

TIKA是什么? Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出 元数据和结构化内容。 功能包括: 侦测文档的类型, 字符编码,语言,等其他现有文档...

吕兵阳
2015/11/26
1K
0
jsoup 1.6.0 发布,支持 HTML5 解析

该版本包含一个支持 HTML5 的解析器分支,可确保跟现在的浏览器一样解析 HTML 的方法,同时降低了解析的时间和内存的占用。增加一些新的常用方法,例如 Element.unwrap() and Node.after() ...

红薯
2011/06/13
2.3K
7
使用Jsoup解析html网页

一、 JSOUP简介 在以往用java来处理解析HTML文档或者片段时,我们通常会采用htmlparser(http://htmlparser.sourceforge.net/)这个开源类库。现在我们有了JSOUP,以后的处理HTML的内容只需要...

神剑戎
2013/05/01
0
1
iOS 解析 HTML

xml,json都有大量的库来解析,我们如何解析html呢? TFHpple是一个小型的封装,可以用来解析html,它是对libxml的封装,语法是xpath。 今天我看到一个直接用libxml来解析html,参看:http://...

鉴客
2012/02/11
3.9K
1
Android开发_Jsoup抓取网页信息

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangty0223/article/details/9353383 想要抓取别的网页的信息,比较好的方法就是jsoup抓取,保存html为 docu...

张腾元_Ternence
2013/07/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

生产者消费者问题(PV操作)

一、明确定义 要理解生产消费者问题,首先应弄清PV操作的含义:PV操作是由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减...

shzwork
28分钟前
0
0
重新认识网络通信协议

OSI网络分层 应用层 http, smtp,pop3这些都属于应用层协议 为用户的应用程序提供服务 表示层 确保一个系统的应用层发送的信息被另一个系统的应用层接收到 会话层 通过传输层建立数据传输的通...

最胖的瘦子
39分钟前
1
0
【转】分布式数据流的轻量级异步快照

本篇翻译自论文:Lightweight Asynchronous Snapshots for Distributed Dataflows,Flink的容错快照模型即来源于该论文。原文地址:https://arxiv.org/pdf/1506.08603.pdf 分布式数据流的轻量...

yiduwangkai
41分钟前
0
0
java使用反射机制设置私有成员变量的值

写一个方法:public void setProperty(Objectobj, String propertyName, Object value){}, 此方法可将obj对象中名为propertyName的属性的值设置为value。(这里不知道obj对象的propertyNam...

群星纪元
47分钟前
0
0
用 Tapestry 的方式在页面模板中加入注释

<span jwcid="$remove$">这里是注释</span>

LeoXu
48分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部