首页 > 代码库 > HTML解析
HTML解析
首先,新建一个工程,到Build Phases-link Binary With Libraries,点+添加libxml2运行库
再到build settings中搜索Header search Paths,双击该选项第一行添加/usr/include/libxml2 此步骤为添加头文件
把HTML解析开源代码加入工程
在我们解析HTML的那个类中添加开源代码头文件
开始解析
NSString *str = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://dict.youdao.com/search?le=eng&q=success&keyfrom=dict.top"] encoding:NSUTF8StringEncoding error:nil];//把这个网址的内容以UTF-8编码保存在字符串中 NSError *error; if (error)//一旦出错,程序自动返回 { return; } HTMLParser *parser = [[HTMLParser alloc]initWithString:str error:&error];//定义一个解析HTML工具的对象,来使用开源代码 HTMLNode *node = [parser body];//确定程序最大的那个body节点,选出这个节点,再在body节点中找我们要的数据 NSArray *keyword = [node findChildrenWithAttribute:@"class" matchingName:@"keyword" allowPartial:YES]; //定位单词的位置在node节点中keybode下面, for (HTMLNode *a in keyword) { NSLog(@"%@",[a contents]);//把keyboard内容依次打印输出 } NSArray *fanyi = [node findChildrenWithAttribute:@"class" matchingName:@"trans-container" allowPartial:YES]; HTMLNode *ul = [fanyi[0] findChildTag:@"ul"]; HTMLNode *li = [ul findChildTag:@"li"]; NSLog(@"%@",[li contents]); HTMLNode *ol = [node findChildWithAttribute:@"class" matchingName:@"ol wordGroup" allowPartial:YES]; NSArray *word = [ol findChildrenOfClass:@"wordGroup"]; NSLog(@"%@",word); for (HTMLNode *b in word) { HTMLNode *span = [b findChildTag:@"span"]; NSLog(@"%@",[span contents]);
}
在火狐浏览器中打开需要解析的网页,查看当前网页元素,节点一目了然
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。