IOS文章收集iOS Developer

史上最简单的网页源码截取(OC版)

2017-07-04  本文已影响79人  函冰
在这个大千世界里无奇不有,当然各种奇怪的需求也是层出不穷,这当然需要我们的脑瓜子转的更快,来适应。
好东西,就要分享.png
前几天的一个单位A的外包项目,需要从他的网站外包单位B,通过外包单位C(我们单位)APP展示他们的网站内容,需求是要实现对网站信息的收藏啦,点赞啦,还有别的功能,前提是,就给一个网址,剩下的都是我们的工作,呵呵呵,那么问题就来了,对于网址源码里面有需要的信息,该怎么取到呢?我是一个比较懒的程序员,所以我只想一个工具类的一行代码就拿到我想要的标签对应的内容,所以,我写了这么一个类GetHTMLTags。当然它适用于网页信息截取,但不局限于这个,可以对你拥有的一段文字进行截取,找到你所需要的那个,下面简单介绍下这个工具类:

1. 获取到所有相同标签下的字符串:例如获取标签<title>后面的所有字符

/**
 获取主要标签内的字符数组(htmlString是通过[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"]获取到的网页源码)

 @param htmlString 主字符串
 @param tag 所需要获取的标签字符串
 @return 获取到的包含大致信息的字符串
 */
+ (NSMutableArray *)GetMainTagIn:(NSString *)htmlString mainTag:(NSString *)tag;

2.精确获取到所需要的标签内容

/**
 获取到精确的字符

 @param HTMLstringArray 主要标签内的字符数组
 @param tagArray HTML标签的前半部分辨标签数组
 @param smallTag HTML标签的后半部
 @return 返回获取到的精确的字符
 */
+ (NSMutableArray *)GetlittleTag:(NSMutableArray *)HTMLstringArray  littleTag:(NSArray<NSString *> *)tagArray smallTag:(NSString *)smallTag;
例如:文本 <a class="logo" href="/">

</a>,假如想获取//cdn2.jianshu.io/assets/web/logo58fd04f6f0de908401aa561cda6a0688.png这个图片链接的话只需要下面的调用方法就可以:(其中的littleTag要按顺序放进数组里面)

NSMutableArray *imgArray = [GetHTMLTags GetlittleTag:@[@"刚才的那段标签"] littleTag:@[@"<a",@"src=\""] smallTag:@"\""];

至于截取字符串和上面演示的一样,接下来附上demo地址:GetHTMLTags

上一篇下一篇

猜你喜欢

热点阅读