0

我是 iOS 开发的新手,我正在尝试编写一个可以抓取网站 (HTML) 的应用程序。抓取谷歌只是一个例子 - 我打算抓取一些更复杂的东西......

我的代码如下:

#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 的方法持开放态度......

4

3 回答 3

6

你被这条线弄糊涂了:

NSLog(@"x",h3Tag);

这一行所做的就是记录字符串x。第二个参数完全没有使用。你想要的是这样的:

NSLog(@"%@", h3Tag);

或者更具描述性:

NSLog(@"h3Tag: %@", h3Tag);

格式字符串中的标记%@表示这是打印下一个参数的位置。您可能想阅读一般的字符串格式说明符格式化字符串对象

于 2011-12-14T02:07:45.137 回答
0
NSLog(@"x = %@",h3Tag);
Above line prints the value of h3Tag.

For more help about NSLog refer link:  [http://www.cocoadev.com/index.pl?NSLog]
于 2011-12-14T05:00:25.513 回答
0

利用

NSLog(@"%@", h3Tag);

或者

NSLog(h3Tag);
于 2011-12-14T04:12:37.910 回答