2

我想在 html 源代码中找到 url 链接。我正在使用 Hpple 来解析 HTML。我知道通过给出路径我们会在 html 中找到 url。对于不同的 url,必须更改路径。所以我无法搜索 url 链接。

让我解释清楚。比如我在yahoo.com这个网站中包含了板球、天气、体育、邮件、新闻等,我想在源代码中找到那个链接。

我在这里所做的只是给出路径并搜索“a href”。如果路径正确,将显示路径中存在的所有 url。没有出现在同一页面中的剩余 url(不在同一路径中)。我该怎么做?

TFHpple *htmlParser = [TFHpple hppleWithHTMLData:htmlData];

if (htmlData)   //check that htmlData contains data
{
    //Enter your Xpath query here to obtain the data you want from the webpage
    //more info on Xpath queries can be found at http://www.w3schools.com/xpath/default.asp
    NSString *content;
    NSArray *nodes = [htmlParser searchWithXPathQuery:@"//html/head/link"];
    //NSString *searchStr = @"a href";

    for (TFHppleElement *element in nodes) {
        NSString *href = [element attributes][@"href"];
        if ([href rangeOfString:@"href"].location!= (NSNotFound)) {
            NSLog(@"got it");
        }
        else
            NSLog(@"not found");
        content = [element content];
        //NSLog(@"%@ -> %@", href, content);
        [urlsArray addObject:href];
    }   //searching for all h2 in document
    NSLog(@"urls array = %@", urlsArray);

    //Set the textView text on the view to the result of the HTML parser
    _displayTextView.text = [NSString stringWithFormat:@"%@", urlsArray];

}else{
    //Display an error if htmlData is not available. I.E no internet connection etc
    _displayTextView.text = @"Error - No data";
}

提前致谢。

4

0 回答 0