我正在开发一个应用程序并尝试显示网页的一部分。ios从网页获取页面源代码?
我的想法是第一个,得到页面源,然后解析它!
我已经找到了一个有用的HTML解析器,但仍然在如何获取页面源?
我发现的所有内容都是关于UIWebview的。喜欢的东西:
uiwebview = [[UIWebView loadRequest:[NSURLRequest requestWithURL:url]];
我正在开发一个应用程序并尝试显示网页的一部分。ios从网页获取页面源代码?
我的想法是第一个,得到页面源,然后解析它!
我已经找到了一个有用的HTML解析器,但仍然在如何获取页面源?
我发现的所有内容都是关于UIWebview的。喜欢的东西:
uiwebview = [[UIWebView loadRequest:[NSURLRequest requestWithURL:url]];
使用
NSString *string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"] encoding:NSUTF8StringEncoding error:nil];
你错过了google.com之前的http://。 – 2011-05-18 15:46:51
谢谢迪帕克,我明白了! – Jerry 2011-05-18 15:49:06
在主线程中使用+stringWithContentsOfURL:
缺点是你的UI将阻止而请求处于激活状态。当用户在网络上出现高延迟,服务器响应缓慢或者请求结束超时时,这会变得特别成问题。在最后一种情况下,用户可能会很长时间看到UI块。
+stringWithContentsOfURL:
方法也缺少一种方法来在服务器不返回200状态的情况下为您提供错误信息。
要在代表异步地执行的请求,而不阻塞UI,使用NSURLConnection
和获取数据:
- (void)connection: (NSURLConnection *)connection didReceiveData: (NSData *)data
{
// receivedData is an NSMutableData object
[ receivedData appendData: data ];
}
然后开球解析当连接完成:
- (void)connectionDidFinishLoading: (NSURLConnection *)connection
{
[ self parseHTMLData: receivedData ];
}
谢谢更多的紧张,我会给它一个镜头! – Jerry 2011-05-18 15:52:36
你能提一下什么是有用的HTML解析器? :)我也需要一个... – 2011-05-19 12:55:05