Object-c 遍历网页获取网页中<img>标签中的图片url

前言:

项目中遇见一个需求遍历网页中所有的<img>标签并且去处图片的url

第一步:编写获取<img >标签的正则表达式,代码如下:

-(NSArray*)getImgTags:(NSString *)htmlText
{
    if (htmlText == nil) {
        return nil;
    }

    NSError *error;
    NSString *regulaStr = @"<img[^>]+src\\s*=\\s*[‘\"]([^‘\"]+)[‘\"][^>]*>";
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regulaStr
                                                                           options:NSRegularExpressionCaseInsensitive
                                                                             error:&error];
    NSArray *arrayOfAllMatches = [regex matchesInString:imageText options:0 range:NSMakeRange(0, [htmlText length])];

    return arrayOfAllMatches;
}

第二步:根据html标签元素获取图片url

-(NSString *)getImageUrl:(NSString *)imgTagStr{  // 提取url

    NSData * data = [imgTagStr dataUsingEncoding:NSUTF8StringEncoding];
    TFHpple *doc = [[TFHpple alloc] initWithXMLData:data];

    TFHppleElement *e = [doc peekAtSearchWithXPathQuery:@"//img"];

    return [self encodeStringFromString:[e objectForKey:@"src"]];
}
时间: 2024-10-22 02:05:11

Object-c 遍历网页获取网页中<img>标签中的图片url的相关文章

html中a标签中的onclick和href的使用

下面代码则执行了subgo()函数, <a href="javascript:void(0)" onclick="subgo()">点我</a> 在这里,javascript:void(0),没启实质上的作用,它仅仅是一个死链接,执行的函数是subgo(). <a href="#" onclick="subgo()">点我</a>与<a href="javascr

网页中head标签中的常用标签总结

常见的<head></head>之间的标签为:meta , title , link , style ,script. 1.meta 标签----name <meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. 1.1 Keywords #关键词 <meta name="Keywords" content=""/> 1.2 Description #描述

在C#中使用正则表达式筛选出图片URL并下载图片URL中的图片到本地

本功能主要用到的知识点如下: 1.正则表达式 2.C#中下载文件功能的实现 3.泛型集合的使用 4.进程的简单操作(用于结束当前程序) 下面就简单说一下是如何使用这些知识点的.先详细说下这个程序主要实现的功能是什么,现有一个文本文件里面都是从网页上复制下来的源代码.现需要将其中的以http.https.ftp开头,以.jpg,.png,.gif开头的图片URL地址筛选出来,并去访问这些链接,将URL中所对应的图片下载下来.经过分析后.决定使用正则表达式筛选URL地址.并使用WebClient类去

C#正则表达式提取HTML中IMG标签中的SRC地址

百度到的一个,这里就直接贴了 http://blog.csdn.net/smeller/article/details/7108502#comments 一般来说一个 HTML 文档有很多标签,比如“<html>”.“<body>”.“<table>”等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易.于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 im

&lt;转载&gt;html中head标签中的内容

定义和用法 <head> 标签用于定义文档的头部,它是所有头部元素的容器.<head> 中的元素可以引用脚本.指示浏览器在哪里找到样式表.提供元信息等等. 文档的头部描述了文档的各种属性和信息,包括文档的标题.在 Web 中的位置以及和其他文档的关系等.绝大多数文档头部包含的数据都不会真正作为内容显示给读者. 下面这些标签可用在 head 部分:<base>, <link>, <meta>, <script>, <style&g

applicationContext.xml文件中&lt;bean&gt;标签中property属性用法说明

<bean name="useraaa" class="com.maple.bean.User"> <property name="name"> <value>小强</value> </property> <property name="age"> <value>26</value> </property> <pr

html中a标签中的onclick和href的使用(转)

下面代码则执行了subgo()函数, <a href="javascript:void(0)" onclick="subgo()">点我</a> 在这里,javascript:void(0),没启实质上的作用,它仅仅是一个死链接,执行的函数是subgo(). <a href="#" onclick="subgo()">点我</a>与<a href="javascr

html5中 canvas标签中 2d上下文 globalCompositeOperation属性

定义和用法 globalCompositeOperation 属性设置或返回如何将一个源(新的)图像绘制到目标(已有)的图像上. 例: 1 var c=document.getElementById("myCanvas"); 2 var ctx=c.getContext("2d"); 3 4 ctx.fillStyle="red"; 5 ctx.fillRect(20,20,75,50); 6 ctx.globalCompositeOperati

019 关联映射文件中集合标签中的lazy(懒加载)属性

<set>.<list>集合上,可以取值:true/false/extra,(默认值为:true) 实例一:(集合上的lazy=true(默认))class默认lazy=true(默认) session = HibernateUtils.getSession(); tx = session.beginTransaction(); //不会发出SQL语句 Classes classes = (Classes)session.load(Classes.class, 1); //发出SQ