zoukankan      html  css  js  c++  java
  • hpple——网页http解析框架

    TFHpple是一个小型的封装,可以用来解析html,它是对libxml的封装,语法是xpath。


    使用Objective-C解析HTML或者XML,系统自带有两种方式一个是通过libxml,一个是通过NSXMLParser。


    libxml性能较好,且可以结合urlconnection实现边下载边解析,在要求快速 、分批响应UI到情况下较为有用,NSXMLParser基本没什么优势,不如使用第三方工具。

    Hpple,它是一个轻量级的包装框架,可以很好的解决这个问题,尤其是它支持HTML的解析,是其他XML类库所不及的地方,它是用XPath来定位和解析HTML或者XML。

    使用步骤:

    1、 -加入 libxml2 到你的项目中
    到Project设置中,选all,找到Search paths下面的
    Header Search Paths项目
    添加新的 search path “${SDKROOT}/usr/include/libxml2″
    注意选择 Enable recursive option


    2、 -加入 libxml2 library 到你的项目
    到Target中,选择Build Phases页
    在Link Binary With Libraries中
    从列表中选择libxml2.dylib


    3、 -到这里下载ZIP包,将下面hpple的源代码加入到你的项目中:
    HTFpple.h
    HTFpple.m
    HTFppleElement.h
    HTFppleElement.m
    XPathQuery.h
    XPathQuery.m

    4、 -简单应用举例 

    1. #import "TFHpple.h"  
    2.    
    3. NSData *data = [[NSData alloc] initWithContentsOfFile:@"www.baidu.com"];  
    4.    
    5. // Create parser  
    6. xpathParser = [[TFHpple alloc] initWithHTMLData:data];  
    7.    
    8. //Get all the cells of the 2nd row of the 3rd table   
    9. NSArray *elements  = [xpathParser search:@"//title"];  
    10.    
    11. // Access the first cell  
    12. TFHppleElement *element = [elements objectAtIndex:0];  
    13.    
    14. // Get the text within the cell tag  
    15. NSString *content = [element content];   
    16. NSLog(@"%@",content); 
    17.    
  • 相关阅读:
    R语言学习笔记2——绘图
    稀疏编码笔记1
    【转】宏定义中##和#的作用
    CRUX下实现进程隐藏(3)
    CRUX下实现进程隐藏(2)
    CRUX下实现进程隐藏(1)
    Coursera机器学习基石 第1讲:The Learning Problem
    R语言学习笔记1——R语言中的基本对象
    Semi-Supervised Dimensionality Reduction
    转发常见一主从复制案例
  • 原文地址:https://www.cnblogs.com/ranger-jlu/p/3891759.html
Copyright © 2011-2022 走看看