用WebView 加载出来后获取
这是楼主在开发中遇到的问题
从后台获取到一段html代码
[[HTTPSessionManager httpManager] getWithURL:FIND_DOCTOR_OR_PATIENT_ARTICLELIST params:parameters success:^(id json) {
NSMutableArray *arr = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableContainers | NSJSONReadingAllowFragments error:nil];
XMGLog(@"%lu",(unsigned long)arr.count);
[weakSelf.webView loadHTMLString:arr[0][@"data"][@"context"]() baseURL:[NSURL URLWithString:FIND_DOCTOR_OR_PATIENT_ARTICLELIST]];
} failure:^(NSError *error) {
XMGLog(@"%@",error);
}];
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *str = @"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '100%'";
[_webView stringByEvaluatingJavaScriptFromString:str];
self.label.text = [self.webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"];
static NSString * const jsGetImages =
@"function getImages(){\
var objs = document.getElementsByTagName(\"img\");\
var imgScr = '';\
for(var i=0;i<objs.length;i++){\
imgScr = imgScr + objs[i].src + '+';\
};\
return imgScr;\
};";
[webView stringByEvaluatingJavaScriptFromString:jsGetImages];
NSString *urlResurlt = [webView stringByEvaluatingJavaScriptFromString:@"getImages()"];
self.label.text = urlResurlt;
}
利用富文本获取
NSMutableAttributedString * attrStr = [[NSMutableAttributedString alloc] initWithData:[healthNews.context dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
if (attrStr.length >=70) {
[attrStr deleteCharactersInRange:NSMakeRange(70, attrStr.length-70)];
}