iOS 抓取 UIwebview 上 所有 图片 并进行滚动播放
关于在UIwebview上添加滚动图片 两种滚动手势会混淆,应为webview有webview.scrollview的属性
故参照昨天的随笔 scrollview嵌套解决方案。
本篇随笔主要讲循环使用正则表达式,本人在此提供一个在线编辑正则表达式、并验证的好东东网址如下:
http://www.rubular.com/
可以事先校验好自己的正则表达式,我在网上搜索好多 抓取网页所有图片的方法 寥寥无几 我觉得我的方法特别方便 在此收入自己的博客
正则法则1:<img [^>]*src\\s*=\\s*\"([^>]+)\"
这个是 获取 img 的所有属性 包括 img 的长宽等 比如结果:<img src="http://img.iknow.bdimg.com/app/qrcode.png" style="height:609px; width:528px" />
我想提取的是src的图片名称 以下是 进步版本
正则法则 2:src=((.+)('|\.gif|\.jpg|\.png))
就可以获取到 src="http://img.iknow.bdimg.com/app/qrcode.png
再用字符串属性 [str1 substringFromIndex:5];去掉前5个字符就可以了
其实我想用正则直接得到目标串 但是没实现 ,如果哪位亲 会的话 一定要告诉我 哦
循环提取当前网页所有src 方法如下:
//正则法则start
-(NSMutableArray*)match_fun:(NSString *)searchText Regex:(NSString *)regTags
{
NSMutableArray *arr=[[[NSMutableArray alloc]init]autorelease];
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regTags
options:NSRegularExpressionCaseInsensitive // 还可以加一些选项,例如:不区分大小写 error:&error];
NSLog(@"正则法则 判断结果: %@",error);
NSArray *matches = [regex matchesInString:searchText options: range:NSMakeRange(, [searchText length])];
// NSLog(@"%@",matches);
// 用下面的办法来遍历每一条匹配记录
// NSString *re=@"[iI][mM][gG][\s]*[sS][rR][cC][\s]*=[\s'\"]*(?<ref_value>.*?(\.gif|\.jpg|\.png)) ";
int i=;
for (NSTextCheckingResult *match in matches) { NSRange matchRange = [match range]; NSString *tagString = [searchText substringWithRange:matchRange]; // 整个匹配串 [arr insertObject:tagString atIndex:i];
i++;
//NSLog(@"tagString: %@",tagString);
}
return arr;
}
//调用:
NSString *searchText = [showWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"];
NSString *regTags = @"src=((.+)('|\.gif|\.jpg|\.png))";//@"<img [^>]*src\\s*=\\s*\"([^>]+)\"";
NSMutableArray *arr=[[[NSMutableArray alloc]init]autorelease];
arr=[self match_fun:searchText Regex:regTags];
NSLog(@"结果 arr :%@",arr);
for(int i=;i<count;i++)
{
NSString *str1=[NSString stringWithFormat:@"%@",[arr objectAtIndex:i]];
str1= [str1 substringFromIndex:];
/////其他操作
}
iOS 抓取 UIwebview 上 所有 图片 并进行滚动播放的更多相关文章
- IOS抓取与反抓取
目录 IOS抓取基础知识 IOS抓取方式 iOS破解 模拟器 黑雷苹果模拟器 介绍 局限 改机软件 常用改机软件 检测 可更改属性 注入与Hook(越狱下实现作弊) 注入方式 Hook方式 重打包(非 ...
- Python抓取网页中的图片到本地
今天在网上找了个从网页中通过图片URL,抓取图片并保存到本地的例子: #!/usr/bin/env python # -*- coding:utf- -*- # Author: xixihuang # ...
- 抓取oschina上面的代码分享python块区下的 标题和对应URL
# -*- coding=utf-8 -*- import requests,re from lxml import etree import sys reload(sys) sys.setdefau ...
- 使用Fiddler抓取手机上的数据包
在IIS中,如果网站已经绑定了域名在使用IP是不能访问的,需要添加一个空的主机名与IP的映射才能访问.如下图: Fiddler抓取手机包 在PC上建一个WIFI热的 勾选Fiddler中Tool-&g ...
- Postman----设置代理抓取手机上的请求
一般为方便接口测试,我们都会设置代理,抓取手机上的请求来方便测试,具体的操作方法如下. 操作步骤: 一.手机和电脑连接同一网络,查看电脑连接网络的IP,配置手机的代理 1.查看电脑连接的网络与IP地址 ...
- 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法
下载远程(第三方服务器)文件.图片,保存到本地(服务器)的方法.保存抓取远程文件.图片 将一台服务器的文件.图片,保存(下载)到另外一台服务器进行保存的方法: 1 #region 图片下载 2 3 ...
- 抓取Js动态生成数据且以滚动页面方式分页的网页
代码也可以从我的开源项目HtmlExtractor中获取. 当我们在进行数据抓取的时候,如果目标网站是以Js的方式动态生成数据且以滚动页面的方式进行分页,那么我们该如何抓取呢? 如类似今日头条这样的网 ...
- ios 抓取真机的网络包
一直被如何从真机上抓包所困扰!今天偶然看到了最简单有效的方法!分享一下: 原地址链接 http://blog.csdn.net/phunxm/article/details/38590561 通过 R ...
- 抓取csdn上的各类别的文章 (制作csdn app 二)
转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/23532797 这篇博客接着上一篇(Android 使用Fragment,View ...
随机推荐
- Clean Code第二章<命名>
1.命名要有意义 错误写法 正确写法 2.某些构造函数可以提供有意义的静态方法去实现
- 5540 asa 8.4 防火墙
配置等级策略,保证outside端口可以访问inside端口 access-list 100 extended permit icmp any any access-list 100 extended ...
- [iOS微博项目 - 2.4] - 重新安排app启动步骤
github: https://github.com/hellovoidworld/HVWWeibo A.app启动步骤 1.加入了授权步骤之后,最先要判断app内是否已经登陆了账号 2.在程序启 ...
- 深入学习JavaScript对象
JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢? 一.概述 对象是一种复合值,它将很多值(原始 ...
- .Net实现的批量删除(使用了repeater控件)
前台 <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> < ...
- UVA 11983 Weird Advertisement(线段树求矩形并的面积)
UVA 11983 题目大意是说给你N个矩形,让你求被覆盖k次以上的点的总个数(x,y<1e9) 首先这个题有一个转化,吧每个矩形的x2,y2+1这样就转化为了求N个矩形被覆盖k次以上的区域的面 ...
- Android PHP 通过JSON进行数据交互
一.首先是Android客户端解析PHP返回的JSON数据 1.PHP代码(这里用到了数据库,如果没有准备数据库的话,可以自定义字符串) <?php $link=mysql_connect(SA ...
- php二叉树算法
二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒.二叉树的第i层至多有2^{i-1}个结点:深度为k的二叉树至多有2^k-1个结点:对任何一棵二叉树T,如 ...
- PL/SQL devloper 常用设置
1)代码自动完成 Tools->Preferences->User Interface->Key Configuration. 找到Tools/Code Assistant,修改为自 ...
- Lucene/ElasticSearch 学习系列 (1) 为什么学,学什么,怎么学
为什么学 <What I wish I knew When I was 20>这本书给了我很多启发.作者在书中提到,Stanford 大学培养人才的目标是 ”T形人才“:精通某个领域,但对 ...