webp 谷歌提出的一种图片格式。
支持动图: gif
静图: png jpg

网页 webp / jpg / gif / png 图片提取。

已在微信、淘宝、京东、一号店上测试通过。

如果电脑上有 chrome 内核浏览器的话是支持 webp 的,没有的话就无法查找这种格式了。但大多数网站其实都提供了相应 jpg ,一般只要改下文件名就可以了。

总结下主要方式,各个网站的 webp 图:

淘宝的:

https://img.alicdn.com/tps/i2/TB1XN66MpXXXXXyXFXXj64lTXXX-200-200.jpg_100x100q90.jpg_.webp

有不同尺寸,甚至格式。如上条链接中有200-200.jpg和100x100q90.jpg的图。从下划线_阶段可得到不同尺寸的图。

微信的:

http://mmbiz.qpic.cn/mmbiz_gif/5jiagcxMqZxibYXxGUXNf8gRCiapA1W8gQkGIdB7tLYYXLf07nnZb594M3Y8XLWIITEgvhhWKrDrrEETAvTTzbuzA/0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

很明显:wx_fmt=gif 里的 gif 表示了图片的源格式是gif。

其他的:

一般都是把后缀改为源格式即可。

v0.1

//webp转jpg保存器v0.1 by 小文 2016-12-26
//可能出来的格式, jpeg 没有列出。
var jpg='.jpg'
var png='.png'
var gif='.gif'
var webp=$$("[src$='.webp']"); //所有 webp 对象
var suc=0; //成功提取到的数量
var itg=''; //目标
var exe=''; //当前处理的格式
var oth=''; //没有提取的格式
var msg=''; //输出信息
var sty='style="width:50px;height:50px;padding:4px;border:1px dashed #ccc"'; //附加样式 for(var i=0;i<webp.length;i++){
var src=webp[i].src
if(src.lastIndexOf(jpg)!=-1){
exe=jpg; suc++;
}else if(src.lastIndexOf(png)!=-1){
exe=png; suc++;
}else if(src.lastIndexOf(gif)!=-1){
exe=gif; suc++;
}else{
oth+='<img '+sty+ 'src="'+src+'">';
}
if(src.lastIndexOf(jpg)!=-1||src.lastIndexOf(png)!=-1||src.lastIndexOf(gif)!=-1){
src=src.substring(0,src.lastIndexOf(exe)+4);
itg+='<img '+sty+ 'src="'+src+'">';
}
} if(webp.length==suc){
msg='<hr>已全部提取:<hr>'+itg+'<hr>'
}else{
msg='<hr>已提取:<hr>'+itg+'<hr>未提取:<hr>'+oth
};
msg="<hr>总数:"+webp.length+"<br>成功:"+suc+"<br>失败:"+(webp.length-suc)+msg window.open().document.write(msg)

v0.3

更新了下,支持微信及直接改后缀如一号店方式:

//webp转jpg保存器v0.3 by 小文 2016-12-26
//可能出来的格式, jpeg 没有列出。
var jpg='.jpg'
var png='.png'
var gif='.gif'
var webp=$$("[src*='&tp=webp']")[0] ? $$("[src*='&tp=webp']") : $$("[src$='.webp']"); //所有 webp 对象
var suc=0; //成功提取到的数量
var itg=''; //目标
var exe=''; //当前处理的格式
var oth=''; //没有提取的格式
var oth2=''; //特殊情况,直接修改后缀
var msg=''; //输出信息
var sty='style="width:50px;height:50px;padding:4px;border:1px dashed #ccc"'; //附加样式 for(var i=0;i<webp.length;i++){
var src=webp[i].src
//淘宝
if(src.lastIndexOf(jpg)!=-1){
exe=jpg;
}else if(src.lastIndexOf(png)!=-1){
exe=png;
}else if(src.lastIndexOf(gif)!=-1){
exe=gif;
}else{
oth+='<img '+sty+ 'src="'+src+'">';
//一号店等特殊情况,直接改后缀
oth2+='<img onerror="console.log(this);this.style.display=\'none\'"'+sty+ 'src="'+src.substring(0,src.lastIndexOf('.webp'))+'.jpg'+'">';
oth2+='<img onerror="console.log(this);this.style.display=\'none\'"'+sty+ 'src="'+src.substring(0,src.lastIndexOf('.webp'))+'.gif'+'">';
oth2+='<img onerror="console.log(this);this.style.display=\'none\'"'+sty+ 'src="'+src.substring(0,src.lastIndexOf('.webp'))+'.png'+'">';
}
var b1=Boolean(src.lastIndexOf(jpg)!=-1||src.lastIndexOf(png)!=-1||src.lastIndexOf(gif)!=-1)
if(b1){
src=src.substring(0,src.lastIndexOf(exe)+4);
itg+='<img '+sty+ 'src="'+src+'">';
suc++;
}else if($$("[src*='&tp=webp']")[0]){
//腾讯
itg+='<img '+sty+ 'src="'+webp[i].src.substring(0,webp[i].src.lastIndexOf('&tp=webp'))+'">';suc++
}
} if(webp.length==suc){
msg='<hr>已全部提取:<hr>'+itg+'<hr>'
}else{
msg='<hr>已提取:<hr>'+itg+'<hr>未提取:<hr>'+oth
};
msg="总数:"+webp.length+"<br>成功:"+suc+"<br>失败:"+(webp.length-suc)+msg+"<hr>特殊提取:<hr>"+oth2 window.open().document.write(msg)

网页webp转非webp的jpg gif png 图片的更多相关文章

  1. webp怎么打开 webp怎么转换成jpg

    webp怎么打开 webp怎么转换成jpg   2 3 4 5 6 7 分步阅读 在使用google服务的时候(比如 google play),我们会发现保存的图都是webp格式. 那webp是什么东 ...

  2. 爬虫入门(三)——动态网页爬取:爬取pexel上的图片

    Pexel上有大量精美的图片,没事总想看看有什么好看的自己保存到电脑里可能会很有用 但是一个一个保存当然太麻烦了 所以不如我们写个爬虫吧(๑•̀ㅂ•́)و✧ 一开始学习爬虫的时候希望爬取pexel上的 ...

  3. 纯html实现将网页页面分享到微信朋友圈添加缩略图图片的方法

    在分享页面中的body中最前面添加一个隐藏的div,里面放一个300*300的正方形图片即可:如下 <div style="display:none"><img ...

  4. 车标知识学习网页开发,与Flask通过base64展示二进制图片 #华为云·寻找黑马程序员#

    万法同源 一直觉得可能自己不太适合搞技术,更适合在天桥底下支个摊子说书.技术的东西从来没人关注,扯东扯西的文章莫名的火.之前的一篇文章MarkDown添加图片的三种方式不管是在技术为主的CSDN还是娱 ...

  5. WebP 原理和 Android 支持现状介绍(转)

    本文为腾讯Bugly开发者社区 投稿,作者:soonlai,版权归原作者所有,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b70855 ...

  6. 【腾讯Bugly干货分享】WebP原理和Android支持现状介绍

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b708556b0d 1.背景 目前网络中图片仍然是占 ...

  7. WebP 文件及其编码解码工具(WebPconv)

    1. webp 文件 与JPEG相同,WebP 是一种有损压缩利用预测编码技术. WebP 是 Google 新推出的影像技术,它可让网页图档有效进行压缩,同时在质量相同的情况下,WebP 格式图像的 ...

  8. WebP 极限压缩及ios实现

      WebP 极限压缩及ios实现 Levi.duan 会议提纲 概念以及定义 什么是Webp ? WebP (发音 weppy ),是一种同时提供了有损压缩与无损压缩的图片文件格式,是Google新 ...

  9. 【原】webp图片牛刀小试

    其实今年很早就有接触到webp图片的概念,只是一直没怎么弄.今天在一个小项目中小用了一番.总结总结 采用 what,why,how的方式来总结 what? 什么是webp图片? 维基百科:       ...

随机推荐

  1. 小tips

    ios::sync_with_stdio(false);  加速读入的,加上这条语句可以使cin和cout的速度和scanf和printf差不多.

  2. iOS drewRect方法

    You do not need to override this method if your view sets its content in other ways. By the time thi ...

  3. java常用设计模式

    一个程序员对设计模式的理解: "不懂"为什么要把很简单的东西搞得那么复杂. 后来随着软件开发经验的增加才开始明白我所看到的"复杂"恰恰就是设计模式的精髓所在,我 ...

  4. Android 权限列表

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,允许读写check-in数据库属性表的权限 ( Allows read/write acces ...

  5. CustomUI Direct3D9_Sample

    刚开始建这个项目的时候编译器报了很多Link2019的错误. 后来添加了一些lib文件才解决,参考    缺少.lib文件导致的Link2019 解决方案汇总 ==================== ...

  6. Mac osx 安装PIL出现Some externally hosted files were ignored (use --allow-external PIL to allow).

    出现这个问题Some externally hosted files were ignored (use --allow-external PIL to allow)的主要原因是PIL的一些依赖库还没 ...

  7. python lxml install

    之前记得安装libxslt和libxml yum install libxml* -yyum install libxslt* -y wget http://lxml.de/files/lxml-3. ...

  8. grunt 单独压缩多个js和css文件【转】

    原文地址:http://xiaomiya.iteye.com/blog/2177877 使用grunt来压缩前端js,css文件 因为最近做的客户端本地项目有用到十几个js,js提交之前都需要压缩.用 ...

  9. 喜马拉雅FM抓包之旅

    一.概述 最近学院组织安排大面积实习工作,今天刚刚发布了喜马拉雅FM实习生招聘的面试通知.通知要求:公司采用开放式题目的方式进行筛选,申请的同学须完成如下题目 写程序输出喜马拉雅FM上与"卓 ...

  10. 【luogu】 P1880 石子合并

    原题原题原题原题原题 先贴上错误代码... ↓错误代码↓ #include <iostream> #include <cstdio> #include <cstring& ...