我是 iOS 开发的新手,我正在尝试编写一个可以抓取网站 (HTML) 的应用程序。抓取 google 只是一个例子——我正计划抓取一些更复杂的东西……
我的代码如下:
#import "KppleViewController.h"
#import "TFHpple.h"
@implementation KppleViewController
@synthesize theButton;
- (IBAction)buttonPressed:(UIButton *)sender {
NSLog(@"button Pressed");
NSURL *url = [NSURL URLWithString: @"http://www.google.com"];
NSData *htmlData = [NSData dataWithContentsOfURL: url];
TFHpple *xpathParse = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *elements = [xpathParse searchWithXPathQuery:@"//h3"];
TFHppleElement *element = [elements objectAtIndex:0];
NSString *h3Tag = [element content];
NSLog(@"x",h3Tag);
}
问题是,当我尝试写入控制台(通过 NSLog
)以查看是否有任何工作时,出现错误。我得到的错误是“格式字符串未使用数据参数”
我在网上找遍了,没找到。如果我注释掉 NSLog 以查看我以前的代码是否正确,我会收到有关声明但未使用的 NSlog (h3Tag) 正上方变量的错误。
任何帮助将不胜感激......
我也愿意接受任何其他抓取 HTML 的方法...
最佳答案
你对这一行感到困惑:
NSLog(@"x",h3Tag);
这一行所做的只是记录字符串 x
。第二个参数完全没有使用。你想要的是这样的:
NSLog(@"%@", h3Tag);
或者可能更具描述性:
NSLog(@"h3Tag: %@", h3Tag);
格式字符串中的标记 %@
表示这是打印下一个参数的地方。您可能想阅读 String Format Specifiers或 Formatting String Objects一般而言。
关于iphone - 尝试使用 NSLog() 时出现意外错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8498730/