用Objective-C HTMLParser解析HTML文档

2023-04-19,,

代码:https://github.com/zootreeves/Objective-C-HMTL-Parser

?

戴维营教育代码
010203040506070809101112131415161718192021222324252627282930 NSString *str = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://vip.astro.sina.com.cn/astro/view/aries/day/20140808"] encoding:NSUTF8StringEncoding error:nil];         NSError *error;         //预先步骤    //1. 在工程中添加libxml2的库(Build Phase -> Link binary with libraries -> +)    //2. 在Header Search Path中添加/usr/include/libxml2         //解析HTML文档    HTMLParser *parser = [[HTMLParser alloc] initWithString:str error:&error];    if (error) {        NSLog(@"%@", error);        return;    }         //获取HTML的body部分    HTMLNode *node = [parser body];    //根据HTML节点的属性查找节点    NSArray *tabs = [node findChildrenWithAttribute:@"class" matchingName:@"tab" allowPartial:YES];    for (HTMLNode *n in tabs) {        //根据节点名称查找子节点        HTMLNode *h5 = [n findChildTag:@"h5"];        HTMLNode *img = [n findChildTag:@"img"];        HTMLNode *p = [n findChildTag:@"p"];                 //获取的属性值        NSLog(@"%@", [img getAttributeNamed:@"src"]);        //获取节点内容        NSLog(@"%@: %@", [h5 contents], [p contents]);    }