【问题标题】:HTMLParser. Parse but result is emptyHTML解析器。解析但结果为空
【发布时间】:2012-05-31 11:13:53
【问题描述】:

我正在尝试使用 HTMLParser 解析 this page。使用列:“waluta”、“kupno”和“sprzedaż”。 我的代码:

NSError * error = nil;
HTMLParser * parser = [[HTMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:@"https://www.deutsche-bank-pbc.pl/index.php/l1/kursy_walut"] error:&error];   
if (error) {
    NSLog(@"Error: %@", error);
    parser = nil;
    return;
}
NSLog(@"parser = %@", parser);
HTMLNode * bodyNode = [parser doc]; // получаем родительский элемент

HTMLNode *mynode = [bodyNode findChildWithAttribute:@"id" matchingName:@"container_c" allowPartial:NO]; // Берем div с id="all"
HTMLNode *mynode2 = [mynode findChildTag:@"table"];

NSArray *newsList = [mynode2 findChildrenOfClass:@"table_td_1"];
NSLog(@"newsList = %@",newsList];
for (HTMLNode *news in newsList) {
    NSLog(@"element = %@",[news allContents] );
}

第一个 NSLog 显示用 HTMLNode 对象填充的 NSArray。但是我循环中的 NSLog 显示了空元素:

2012-05-31 13:10:31.981 [11178:f803] element = 
2012-05-31 13:10:31.982 [11178:f803] element = 
2012-05-31 13:10:31.983 [11178:f803] element = 
2012-05-31 13:10:31.983 [11178:f803] element = 

我做错了什么?

【问题讨论】:

    标签: objective-c ios html-parsing


    【解决方案1】:

    不确定 HTMLParser,
    但是你为什么不使用 WebView 并且一旦加载了文档,就可以通过它的 dom 元素访问所有的属性/属性,
    不需要在 UI 上加载它们,但我很确定,这种方法会奏效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-10
      • 2016-01-18
      • 1970-01-01
      • 1970-01-01
      • 2020-12-30
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多