您建议我使用哪种方法将网站(一个包含所有包含图像的 HTML 网站)下载到 iPhone?
问题是如何抓取所有这些微小的部分(Javascript、图像、CSS)并将它们保存在本地。这与具体实现无关(我知道如何使用 NSURLRequest 之类的东西。我正在寻找爬行/蜘蛛方法)。
越狱不起作用,因为它适用于官方(App Store)应用程序。
Regards,
Stefan
正在下载?或者获取网站的 HTML 源代码并使用UIWebView
?
如果是最后,你可以简单地这样做:
NSString *data = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://apple.com"] encoding:NSUTF8StringEncoding error:NULL];
// Load UIWebView with data
[webView loadHTMLString:data baseURL:[NSURL URLWithString:@"http://apple.com"]];
EDIT:对于这种方法,您可能最好使用 iPhone 的正则表达式库来解析字符串并查找所需的对象。
你可以使用这个:正则表达式套件精简版 http://regexkit.sourceforge.net/RegexKitLite/,并执行几个正则表达式来查找,例如,<link rel="%" href="*">
and src="*"
。但您必须记住存储它们并用新路径替换 * 的值。
存储文件:
您将从正则表达式方法返回 url,并且您可以从 url 写入文件,如下所示:
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSString rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString pathToCurrentSite = [rootPath stringByAppendingPathComponent:[NSString stringWithFormat:@"/%@/", fullUrlToPage]];
for (urlString in urlStrings) {
NSData *stringData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
[fileManager createFileAtPath:[pathToCurrentSite stringByAppendingPathComponent:urlString] contents:stringData attributes:nil];
}
NSString *data;
NSData *pageData = [data dataUsingEncoding:NSASCIIStringEncoding];
[fileManager createFileAtPath:[pathToCurrentSite stringByAppendingPathComponent:@"index"] contents:pageData attributes:nil];
[fileManager release];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)