搜索
您的当前位置:首页正文

iOS 数据解析之使用TFHpple解析html

来源:二三娱乐

下面是TFHpple的示例代码。

#import "TFHpple.h"

NSData  * data      = [NSData dataWithContentsOfFile:@"index.html"];

TFHpple * doc       = [[TFHpple alloc] initWithHTMLData:data];
NSArray * elements  = [doc search:@"//a[@class='sponsor']"];

TFHppleElement * element = [elements objectAtIndex:0];
[e text];                       // The text inside the HTML element (the content of the first text node)
[e tagName];                    // "a"
[e attributes];                 // NSDictionary of href, class, id, etc.
[e objectForKey:@"href"];       // Easy access to single attribute
[e firstChildWithTagName:@"b"]; // The first "b" child node

从中可以看出要解析HTML中的内容分四步:

  • 将HTML数据转换为NSData类型;
  • 根据data创建TFHpple实例;
  • 查找节点存入数组;
  • 从数组中取出节点。
标题

代码如下:

    NSString *url = 
    
    NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:url]];
    
    TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:data];
    
    NSArray *dataArr = [xpathParser searchWithXPathQuery:@"//a"];
    
    for (TFHppleElement *element in dataArr) {
        
        if ([[element objectForKey:@"class"] isEqualToString:@"title"]) {
            NSLog(@"%@",element.text);
            
        }
        
    }
解析结果
Top