繁体   English   中英

在Objective-C中解析HTML

[英]Parse HTML in Objective-C

你好!

这是给iPhone的

这是我想要实现的目标:

该网站扩展了bit.ly/miniscurl之类的bit.ly/miniscurl ,创建者获得了一个API,该API指出您所要做的就是访问该网站:

http://expandurl.appspot.com/expand?url=您的URL

所以当我把:

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并将其切成不同的片段。

谢谢!

最好的问候克里斯蒂安

要从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];

希望有帮助!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM