【问题标题】:Parse HTML in Objective-C在 Objective-C 中解析 HTML
【发布时间】:2010-12-01 08:12:19
【问题描述】:

你好!

这是给 iphone 的

这就是我想要实现的目标:

This website 扩展了像bit.ly/miniscurl 这样的 URL,创建者得到了一个 API,说你所要做的就是访问这个网站:

http://expandurl.appspot.com/expand?url=YOURURL

所以当我输入:

http://expandurl.appspot.com/expand?url=bit.ly/miniscurl

它会返回一个包含此信息的新网站:

{
    "status": "OK", 
    "end_url": "http:\/\/miniscurl.dafk.net", 
    "redirects": 1, 
    "urls": ["http:\/\/bit.ly\/miniscurl", "http:\/\/miniscurl.dafk.net"], 
    "start_url": "http:\/\/bit.ly\/miniscurl"
}

那太好了!但是我如何将该信息放入 NSString 中,然后通过它搜索不同的标签。所以终于得到了这个:

NSString *status = OK;
NSString *end_url = http:\/\/miniscurl.dafk.net";
etc...

还有一个包含所有重定向(如果有多个)的 NSArray 会很棒!

结论:

我需要:

  • 一种从网站获取 HTML 源代码的快捷方式。
  • 一种快速简便的方法来搜索 NSString 并将其分割成不同的部分。

谢谢!

最好的问候 克里斯蒂安

【问题讨论】:

    标签: html objective-c json http


    【解决方案1】:

    要从 HTTP 服务器获取数据,您可以使用 [NSData dataWithContentsOfURL:]

    要解析数据,在这种情况下它似乎是 JSON 数据,您可以使用简单的 JSON 解析器,例如 TouchJSON

    这是我为我的一个应用编写的一些示例代码:

    NSURL *url = [NSURL URLWithString:@"http://server.com/data.json"];
    NSData *rawJsonData = [NSData dataWithContentsOfURL:url];
    
    CJSONDeserializer *parser = [CJSONDeserializer new];
    NSError *error;
    NSDictionary *jsonDictionary = [parser deserializeAsDictionary:rawJsonData 
                                                             error:&error];
    
    [parser release];
    

    希望有帮助!

    另外,您似乎是新来的。请点击左侧的“√”标记对您最有帮助的答案,谢谢!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2015-02-12
    • 2012-11-04
    • 2014-04-30
    • 1970-01-01
    相关资源
    最近更新 更多