gpt4 book ai didi

html - 解析多个 HTML 分支 hpple

转载 作者:行者123 更新时间:2023-11-28 18:40:10 24 4
gpt4 key购买 nike

我想做的是解析站点上一个页面的多个部分。这是我正在做的:

NSURL *tutorialsUrl = [NSURL URLWithString:@"http://www.cetsp.com.br/"];
NSData *tutorialsHtmlData = [NSData dataWithContentsOfURL:tutorialsUrl];

TFHpple *tutorialsParser = [TFHpple hppleWithHTMLData:tutorialsHtmlData];

NSArray *holder;

NSString *tutorialsXpathQueryString = @"//div[@class='info oeste']/a/h4";
NSString *tutorialsXpathQueryString2 = @"//div[@class='info norte']/a/h4";
NSString *tutorialsXpathQueryString3 = @"//div[@class='info centro']/a/h4";
NSString *tutorialsXpathQueryString4 = @"//div[@class='info leste']/a/h4";
NSString *tutorialsXpathQueryString5 = @"//div[@class='info sul']/a/h4";

NSArray *oeste = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString];
NSArray *norte = [tutorialsParser searchWithXPathQuery: tutorialsXpathQueryString2];
NSArray *centro = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString3];
NSArray *leste = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString4];
NSArray *sul = [tutorialsParser searchWithXPathQuery: tutorialsXpathQueryString5];

holder = [[NSArray alloc] initWithObjects:norte, oeste, centro,leste,sul, nil];

for (NSArray *array in holder) {

for (TFHppleElement *element in array) {

NSLog([[element firstChild] content]);
}
}

控制台记录了 5 个不同的正确结果,但如您所见,我的代码非常乏味。那么如何获取多个标签的所有内容呢?

谢谢!

最佳答案

Hpple 使用 XPathQuery 来解析 HTML。如果你想搜索任何你可以使用的类:

@"//div[@class=*]/a/h4"

或者如果您只想要那些特定的类(class),您可以尝试:

@"//div[@class='info oeste']/a/h4 | //div[@class='info norte']/a/h4 | //div[@class='info centro']/a/h4"

语法记录在案here

关于html - 解析多个 HTML 分支 hpple,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11953230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com