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. 支付宝支付-APP支付服务端详解

    支付宝APP支付服务端详解 前面接了微信支付,相比微信支付,支付宝APP支付提供了支付分装类,下面将实现支付宝APP支付.订单查询.支付结果异步通知.APP支付申请参数说明,以及服务端返回APP端发起 ...

  2. iOS 时间的处理

    做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前系统时间这么简单.我们需要了解与时间相关的各种API之间的差别,再因场景而异去设计相应的机制. 时间的形式 ...

  3. js中的日期控件My97 DatePicker---那些打酱油的日子

    使用WdatePicker插件来渲染日期类型的页面. 以下代码用到的属性有: isShowClear是否显示清空按钮 skin皮肤的样式 readOnly是否只读 maxDate:最大的选择时间 &l ...

  4. django _meta方法

    models.Book._meta.'concrete_model': <class 'books.models.Book'> models.Book._meta.'related_fke ...

  5. 关于learntorank http://qiita.com/rockhopper/items/bb3d46f01df5f6499123

    一.数据转换 如何对于训练数据做pairwise的transform,比如你原始数据是要么点击要么不点击,如何对这些样本数据做pairwise的transform? 下面的方法主要是做组合的方法,就是 ...

  6. Jenkins部署配置简介

    前段时间研究了一下自动化测试,因而接触到了Jenkins,今天有时间进行一下Jenkins部署配置相关知识的总结分享 前言:由于本次只是实验性研究,采用Windows环境,因此Jenkins可以通过下 ...

  7. 工作中那些提高你效率的神器(第一篇)_Everything

    引言 无论是工作还是科研,我们都希望工作既快又好,然而大多数时候却迷失在繁杂的重复劳动中,久久无法摆脱繁杂的事情. 你是不是曾有这样一种想法:如果我有哆啦A梦的口袋,只要拿出神奇道具就可解当下棘手的问 ...

  8. 欢迎进入MyKTV前后台点歌系统展示

    一个项目,一分收获:一个项目,一些资源.Ktv项目也是一样的,所以我想分享我的收获,让你们获得你需要的资源. 一. 那MyKTV点歌系统具体的功能有哪些呢?我们就来看看吧! 1.MyKTV前台功能: ...

  9. 使用--gc-section编译选项减小程序体积

    本周在给程序添加功能的时候,突然发现,我只是写了几个函数,还没调用,size就变大了.这肯定是不行的嘛,没用的函数就应该不链接进来,占用我宝贵的空间. 这种功能,讲道理编译器肯定要支持的,于是搜了一下 ...

  10. android——HttpUrlConnection

    前面了解了下服务端和客户端的相关知识 ,那么他们是通过什么来进行进行连接的呢? Android可以用HttpURLConnection或HttpClient接口来开发http程序.在Android 上 ...