使用TFHelp解析Html
似乎是第一次使用TFHelp解析Html,也是第一次解析Html遇到挺多的难题,现在这里简单的总结一下,慢慢补充TFHelp的使用!
https://github.com/topfunky/hpple 下载TFhelp框架
然后将下面hpple的源代码加入到你的项目中:
HTFpple.h
HTFpple.m
HTFppleElement.h
HTFppleElement.m
XPathQuery.h
XPathQuery.m
一) libxml2 到你的项目中
到Project设置中,选all,找到Search paths下面的
Header Search Paths项目
添加新的 search path “${SDKROOT}/usr/include/libxml2″
注意选择 Enable recursive option

二)加入 libxml2 library 到你的项目
到Target中,选择Build Phases页
在Link Binary With Libraries中
从列表中选择libxml2.tbd
然后到使用文件中导包:
#import "TFHpple.h"
这样就可以使用了!
先来一个简单的表签解析
NSString *str = @"http://www.cnblogs.com/wq-gril/"; NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:str]]; TFHpple * doc = [[TFHpple alloc] initWithHTMLData:data]; NSArray *elements = [doc searchWithXPathQuery:@"//titile"];
for (TFHppleElement * hppleElement in elements) { NSLog(@"%@",hppleElement.raw);
NSLog(@"%@",hppleElement.text); }
输出日志:
<title>牵着蜗牛走的我 - 博客园</title>
牵着蜗牛走的我 - 博客园
其实html主要解析的就是图片 但是这个是个难点,当然对于我来说 ,所以稍等!
使用TFHelp解析Html的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- .NET Core中的认证管理解析
.NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...
- Html Agility Pack 解析Html
Hello 好久不见 哈哈,今天给大家分享一个解析Html的类库 Html Agility Pack.这个适用于想获取某网页里面的部分内容.今天就拿我的Csdn的博客列表来举例. 打开页面 用Fir ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- Asp.Net WebApi核心对象解析(下篇)
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...
- 【知识必备】内存泄漏全解析,从此拒绝ANR,让OOM远离你的身边,跟内存泄漏say byebye
一.写在前面 对于C++来说,内存泄漏就是new出来的对象没有delete,俗称野指针:而对于java来说,就是new出来的Object放在Heap上无法被GC回收:而这里就把我之前的一篇内存泄漏的总 ...
- SQL Server 数据加密功能解析
SQL Server 数据加密功能解析 转载自: 腾云阁 https://www.qcloud.com/community/article/194 数据加密是数据库被破解.物理介质被盗.备份被窃取的最 ...
随机推荐
- Oracle开机自启动
linux下启动oracle su - oracle #用oracle用户登陆 sqlplus /nolog conn /as sysdba startup exit lsnrctl start ex ...
- Linux下ffmpeg的完整安装
最近在做一个企业项目, 期间需要将用户上传的视频转成flv格式或mp4格式并用flash插件在前端播放, 我决定采用ffmpeg (http://www.ffmpeg.org/ )实现. 当然以前也用 ...
- CSS隐藏多余文字的几个方法
通常偏移掉字体的方式是 (1)使用text-indent:-9999px; 可是他有一个局限性 他只适用于块级元素block而我们往往有时候想偏移掉的a上的字体所以问题就来了text-indent:- ...
- mysql登录报错“Access denied for user 'root'@'localhost' (using password: YES”的处理方法
使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: 文件内容: [client]host = localhostuser = debian-sys-maint ...
- input(file)样式修改及上传文件名显示
实现思路: a标签包裹input元素 设置a标签为上传按钮的样式,相对定位 设置input为透明,绝对定位,覆盖到a上面 效果:看到的按钮是a的样式,点击时实际是点击input元素.样式和功能都具备 ...
- dp 走格子问题
问题: 一个5x8的格子,想从左下角走到右上角,求最短路径,共有多少种走法. 思路: 因为是求最短路径,所以,只会往右往上走. 我们可以把棋盘的左下角看做二维坐标的原点(0,0),把棋盘的右上角看做二 ...
- C++基础知识(4)---例外、异常处理
对Java熟悉的朋友们都很清楚,java中的异常处理机制是非常完善的.并且java强制使用异常处理,用户必须对有可能出现异常的情况进行处理. 在C++中并没有强制用户使用异常处理,但是使用异常处理将会 ...
- PHP的单态类——为了产生唯一的对象
pdo就是使用了单态类,使得对象永远只实例化一次,减少了内存消耗. 单态类: <?php class A{ private static $a = null; private function ...
- asp.net中membership使用oracle数据库(二)
需要安装的东西都准备好了,继续生成后台表.过程.函数.触发器等.ps/sql中 @@E:\oracle\product\11.2.0\client_1\ASP.NET\SQL\InstallAllOr ...
- Linux运维(3年以内)
1.精通shell编程,熟练应用awk,sed,grep,strace,tcpdump等常用命令; 2.精通windows server,linux,mssql,mysql,熟悉网络,cisco,ju ...