我想在 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";
}
提前致谢。