看看stringByEvaluatingJavaScriptFromString:。您可以使用它来运行一个脚本来查找您感兴趣的标签,然后将您感兴趣的数据作为字符串返回。如果您想一次获取大量数据,那么在传递它时使用 JSON 可能是最简单的。一个例子:
NSString *jsonString = [webView stringByEvaluatingJavaScriptFromString:@"var result = {}; var imgs = document.getElementsByTagName('img'); for (x = 0; x < imgs.length; x++) { result[x] = {'src': imgs[x].src, 'width': imgs[x].offsetWidth, 'height': imgs[x].offsetHeight}; } result = JSON.stringify(result);"];
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSArray *imgArray = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
因此,现在您拥有NSArray
所有图像和您感兴趣的属性。请注意,这NSJSONSerialization
确实需要 iOS 5 或 OS X 10.7,但如果您需要支持较早的操作系统版本,则可以使用第三方库。(stringByEvaluatingJavaScriptFromString:
回到 iOS 2.0 和 10.2.7。)