zoukankan      html  css  js  c++  java
  • iOS开发中的HTML解析

    最近在抓取网络数据并进行解析式遇到了html格式,由于平常解析JSON和XML格式数据较多,对html的解析有些生疏了。
    下面简单记录一下使用是网上的第三方类TFHpple类进行HTML解析。
    在进行解析前,先将下面的第三方类添加到工程中:
    iOS开发中的HTML解析

    添加以上三个类必须添加一个库,这个库是:libxml2.2.dylib。

    还需要设置一些路径参数这个路径的设置,在 targets中,在build settings搜索Header Search Paths,将debug和release设置不同的值;

    debug的值设置成:/usr/include/libxml2

    release的值设置成:${SDKROOT}/usr/include/libxml2

    将以上内容设置好后,将#import "TFHpple.h"添加到解析html的类中,再写解析方法;

    一般思路如下:

    1.首先将网页的html转换成oc能够认识的NSString数据;用到的方法如下:

    NSString *dataString = [NSString stringWithContentsOfURL:[NSURL URLWithString:htmlString] encoding:NSUTF8StringEncoding error:nil];  //htmlString是html网页的地址

    iOS开发中的HTML解析

    url为保存html网页的地址,根据数据编码格式的不同来选择NSString的编码格式,格式错误则会报错261

    2.截取所需数据所在的位置,得到最后所需解析的字段contEnd

    iOS开发中的HTML解析

    3.将dataString转换成NSData,给TFHpple类用

    NSData *htmlData = [contEnd dataUsingEncoding:NSUTF8StringEncoding];//contEnd是需要解析的字段

    iOS开发中的HTML解析

    3.设置html中节点,根据节点取值,例如

    .....

    ,可以用节点来取值;

    使用htmlData和nodeString,解析自己需要的值:

    iOS开发中的HTML解析

    NSArray * elements 这个数组中就有需要的值

    遍历数组,就可以将需要的内容提取出来

    iOS开发中的HTML解析

  • 相关阅读:
    jQuery学习笔记----入门
    软件工程(第二周)
    软件工程(第一周)
    memcached 学习进修
    iis设置http重置到https
    apk的api级别不要低于26
    DDD 学习记录
    net core 随笔
    vs2017 无法提交到tfs的 git存储库
    nopcommerce 4.1 core 学习 增加商城配置属性
  • 原文地址:https://www.cnblogs.com/shadowtree/p/4582032.html
Copyright © 2011-2022 走看看