iOS web网页获取标题和文字内容

iOS web网页获取标题和文字内容

①拿到网页内容,很简单一句代码

NSString *htmlString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"你的完整URL"] encoding:NSUTF8StringEncoding error:nil];
②正则去除网络标签,一个方法

- (NSString *)getZZwithString:(NSString *)string{
    NSRegularExpression *regularExpretion=[NSRegularExpression regularExpressionWithPattern:@"<[^>]*>|\n" options:0 error:nil];
    string = [regularExpretion stringByReplacingMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) withTemplate:@""];
    return string;
}
③最后

NSString *contentStr = [self getZZwithString:htmlString];
contentStr就是我要用于显示的文本了.此方法拿到的文本是url对应网页的文本,所以根据需求自由截取长短.

总结:以上主要是在不需要加载网页的情况下使用的,方便快捷.如果本页面本来就有webView,那就可以通过js代码来获取相应的内容:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
 
UIWebView *web = webView;
 
//获取所有的html
 
NSString *allHtml = @"document.documentElement.innerHTML";
 
//获取网页title
 
NSString *htmlTitle = @"document.title";
 
//获取网页的一个值
 
NSString *htmlNum = @"document.getElementById('title').innerText";
 
//获取到得网页内容
 
NSString *allHtmlInfo = [web stringByEvaluatingJavaScriptFromString:allHtml];
 
NSLog(@"%@",allHtmlInfo);
 
NSString *titleHtmlInfo = [web stringByEvaluatingJavaScriptFromString:htmlTitle];
 
NSLog(@"%@",titleHtmlInfo);
 
NSString *numHtmlInfo = [web stringByEvaluatingJavaScriptFromString:htmlNum];
 
NSLog(@"%@",numHtmlInfo);
 
}