RegExp抓取图片

几种显示图片的方式:
html语法不严格

<ul><li><img src='img.png' /></li><li><img alt='prompt' src="img.png" class='cla' ></li><li><IMG alt='prompt' Src=img.png></li><li>图片1:<img src='img.png' />图片2:<img alt='prompt' src="img.png" class='cla' >图片3:<IMG alt='prompt' Src=img.png></li>
</ul>
    img = "图片3:<IMG alt='prompt' Src=img.png>....";console.info(img.match(/<img.+src=["']?.+["']?.*[\/]?>/i));//i代表不区分大小写

1.在书写正则表达式时,应该先把正确的格式罗列,通过正确的格式来编写表达式
2.如果特殊的情况比较多,则考虑将整体分为多个部分来解决

匹配第一个

    var img= "图片1:<img src='img.png' />....";console.info(img.match(/<img\ssrc='.+'.+\/>/));//注意\s代表空格
    img = "图片2:<img alt='prompt' src=\"img.png\" class='cla' >....";//  \为转义符console.info(img.match(/<img.+src=["'].+["'].+[\/]?>/));
    img = "图片3:<IMG alt='prompt' Src=img.png>....";console.info(img.match(/<img.+src=["']?.+["']?.*[\/]?>/i));//i代表不区分大小写

全局
// 在页面中通常会有多张图例如:

img = "图片1:<img src='img.png' />图片2:<img alt='prompt' src=\"img.png\" class='cla' >图片3:<IMG alt='prompt' Src=img.png>";
console.info(img.match(/<img.+?src=["']?.+?["']?.*?[\/]?>/gi));

匹配全部字符串
/ 默认在匹配的过程中是贪婪模式. 在匹配多个对象时,一般来说修改成懒惰,即上述正则表达式
可以在修饰数量的匹配符(* + )后面添加? 则代表懒惰和代表0-1 和0-max的不一样

    console.info(img.match(/<img.+?src=["']?.+?["']?.*?[\/]?>/gi));
  • 抓取图片正则表达式利用
    引入jquery
    如何获取源码
    jquery中有
    .get.get.get .post 高度封装 (XMLHttpRequest对象)
    注意:.get在ie浏览器上会有缓存问题,一般用.get在ie浏览器上会有缓存问题,一般用.get在ie浏览器上会有缓存问题,一般用 .post

从低到高 ,封装越来越高
XMLHTTPRequest –> .ajax−−−>.ajax−−−>.ajax ---> .get $.post

$.ajax :读取特殊数据(xml,做特殊配置)

        $.ajax({url:'http://www.baidu.com',dataType:'html',//帮助我们设置返回数据success: function(data){alert(data);}   });

发现控制台会报错

此处涉及到跨域问题
默认情况jquery发送的请求只能访问同域下资源(不支持跨域问题的)

不支持跨域(考虑到安全性问题)
在java中解决方案: ajax请求提交到自己的后台 然后通过:HTTPClient发送请求即可

假设以获得源码data.txt
解决跨域问题 本地数据和请求页面在一个Web工程下边

    $.ajax({url:'data.txt',dataType:'text',success: function(data){var srcs=data.match(/<img.+?src=["']?.+?["']?.*?[\/]?>/gi);console.info("匹配的数量为:" + srcs.length);console.info(srcs);}   });

匹配成功
优化,可以提示客户输入网址,之后通过后台httpclient获取网址源码,返回字符串,之后进行正则匹配
从而得出抓取图片的数量

RegExp抓取图片相关推荐

  1. Python通过代理多线程抓取图片

    前言 Python作为一门功能强大的脚本语言,经常被用来写爬虫程序,下面是Python通过代理多线程抓取图片代码 Python爬虫多线程抓取代理服务器参考: http://www.linuxeye.c ...

  2. 获取http地址如何从上面抓取图片_用 Python 自动抓取妹子图

    目录 前言 Media Pipeline 启用Media Pipeline 使用 ImgPipeline 抓取妹子图 瞎比比与送书后话 前言 我们在抓取数据的过程中,除了要抓取文本数据之外,当然也会有 ...

  3. Python抓取图片

    Python 抓取图片(记录) 记录过程,怕忘了.复制就能用. # coding=utf-8 import os import platform from multiprocessing.pool i ...

  4. OPENCV手势识别抓取图片

    PENCV手势识别抓取图片 一位油管的小哥做的项目非常棒,照着写了一个. 代码: 注意:看好cvzone的版本,太新的版本中有个函数没有,如果找不到这个函数的时候请更换一下库的版本. import c ...

  5. c#大华摄像头调用,抓取图片

    目前需引用的文件还在审核中,这边提供有道云的链接提供下载: 文档:c#大华摄像头调用,抓取图片.note 链接:http://note.youdao.com/noteshare?id=1b539df4 ...

  6. iOS怎么制作PDF图片和网络抓取图片

    注意点:注意绘制的逻辑和顺序,切记,千万要注意创建的CF资源必须手动释放,否则,系统可能会认为你有可能将会继续使用该资源,而不会将它绘制到指定文件,特别是PDF上下文,之前我一直没有出来效果,就是因为 ...

  7. 透过 ESP32-CAM 抓取图片 - uPython

    透过 ESP32-CAM 抓取图片 - uPython 下图使用 ESP32-CAM 的摄像头拍照后,将照片透过 HTTP 网页协议,回传给使用者,让使用者可以看到摄像头所拍摄的图片. 图 16. 使 ...

  8. iOS App抓取图片详细步骤图解

    如何获取其他App中的图片 应用场景 对于想仿写别人的App的时候,例如很多初学者都喜欢仿写微博,仿写App需要对应的图片素材,此时可以直接抓取即可 具体操作步骤 1.下载抓取图片的Mac工具: iO ...

  9. Selenium加--headless无界面下无法抓取图片或者其他文件的解决

    Selenium加–headless无界面下无法抓取图片或者其他文件的解决 贴上代码 url = '你的url' def enable_download_in_headless_chrome(brow ...

最新文章

  1. 如何使用OpenCppCoverage检查单元测试的行覆盖率
  2. MFC单文档框架编程(三): CTabView的使用
  3. 深入 char * ,char ** ,char a[ ] ,char *a[]
  4. javabeans_膨胀的JavaBeans –不要在您的API中添加“ Getters”
  5. 【POJ - 2728】Desert King (最有比率生成树,分数规划)
  6. [Unity] 战斗系统学习 6:构建 TPS 框架 2
  7. 避免数据二次提交的处理方式
  8. 选项卡 || 图片切换
  9. 判断是否为一棵树的子树 Subtree of Another Tree
  10. JavaScript开发者应懂的33个概念js-33-concepts
  11. ul阻燃标准有几个等级_UL阻燃等级说明
  12. .NET 6 运行在Win7 SP1上出错
  13. 使用Set集合对List集合进行去重
  14. 字节日常实习生面试 无了~
  15. 一位苦逼程序员的找工作经历
  16. PAT 乙级 1020  月饼
  17. ​继使命召唤飞机表情雨后,如何在微信群聊天中自带表情雨特效,还有使命召唤红包封面...
  18. iOS小技能:合并mp3格式的文件
  19. Revisiting The Lows
  20. 常见计算机名词符号读音

热门文章

  1. MySql基础篇---004 其它数据库对象篇:视图,存储过程与函数,变量、流程控制与游标 ,触发器
  2. 【中亦安图】运维无小事之一次导致数据丢失的小变更(10)
  3. Intel IPP密码库 IPPCP 2018——第二部分 对称密码算法开发说明与示例代码
  4. iOS开发之Your build settings specify a provisioning profile with the UUID “”, however, no such provisio
  5. win7安装php失败,win7升win10安装失败怎么办
  6. 什么是WebP图片格式?如何在线把Webp格式转换为JPEG格式?
  7. 智能手表的机遇与挑战
  8. web前端项目实战_vue项目仿美团【爱创课堂】
  9. (附链接)12个画出漂亮神经网络图的工具
  10. Design patterns 设计模式