网页webp转非webp的jpg gif png 图片
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 图片的更多相关文章
- webp怎么打开 webp怎么转换成jpg
webp怎么打开 webp怎么转换成jpg 2 3 4 5 6 7 分步阅读 在使用google服务的时候(比如 google play),我们会发现保存的图都是webp格式. 那webp是什么东 ...
- 爬虫入门(三)——动态网页爬取:爬取pexel上的图片
Pexel上有大量精美的图片,没事总想看看有什么好看的自己保存到电脑里可能会很有用 但是一个一个保存当然太麻烦了 所以不如我们写个爬虫吧(๑•̀ㅂ•́)و✧ 一开始学习爬虫的时候希望爬取pexel上的 ...
- 纯html实现将网页页面分享到微信朋友圈添加缩略图图片的方法
在分享页面中的body中最前面添加一个隐藏的div,里面放一个300*300的正方形图片即可:如下 <div style="display:none"><img ...
- 车标知识学习网页开发,与Flask通过base64展示二进制图片 #华为云·寻找黑马程序员#
万法同源 一直觉得可能自己不太适合搞技术,更适合在天桥底下支个摊子说书.技术的东西从来没人关注,扯东扯西的文章莫名的火.之前的一篇文章MarkDown添加图片的三种方式不管是在技术为主的CSDN还是娱 ...
- WebP 原理和 Android 支持现状介绍(转)
本文为腾讯Bugly开发者社区 投稿,作者:soonlai,版权归原作者所有,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b70855 ...
- 【腾讯Bugly干货分享】WebP原理和Android支持现状介绍
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b708556b0d 1.背景 目前网络中图片仍然是占 ...
- WebP 文件及其编码解码工具(WebPconv)
1. webp 文件 与JPEG相同,WebP 是一种有损压缩利用预测编码技术. WebP 是 Google 新推出的影像技术,它可让网页图档有效进行压缩,同时在质量相同的情况下,WebP 格式图像的 ...
- WebP 极限压缩及ios实现
WebP 极限压缩及ios实现 Levi.duan 会议提纲 概念以及定义 什么是Webp ? WebP (发音 weppy ),是一种同时提供了有损压缩与无损压缩的图片文件格式,是Google新 ...
- 【原】webp图片牛刀小试
其实今年很早就有接触到webp图片的概念,只是一直没怎么弄.今天在一个小项目中小用了一番.总结总结 采用 what,why,how的方式来总结 what? 什么是webp图片? 维基百科: ...
随机推荐
- PDA无线数据采集器在仓库管理系统中的应用
条码数据采集器在仓库管理系统中的应用,条码数据采集器,顾名思义就是通过扫描货物条码,对货物进行数量分类采集,方便仓库正规化管理.条码数据采集器是现代化条码仓库管理系统中不可缺少的一部分,能提升企业的整 ...
- iOS 真机测试时报错:Provisioning profile "iOS Team Provisioning Profile: XXX” doesn't include the currently selected device “XXX”.
这几天因工作需要,去给客户演示iOS项目打包的过程.之前演示都是顺利的,但后来客户自己操作时打电话说遇到了问题,出现报错. 就过去看了一下,发现一个很陌生的错误提示: The operation co ...
- 通用js地址选择器
用js实现通用的地址选择器,省份,城市,地区自动关联更新 点击下面查看详细代码: http://runjs.cn/code/s8sqkhcv 关键地址库代码: var addr_arr = new A ...
- 树形DP+DFS序+树状数组 HDOJ 5293 Tree chain problem(树链问题)
题目链接 题意: 有n个点的一棵树.其中树上有m条已知的链,每条链有一个权值.从中选出任意个不相交的链使得链的权值和最大. 思路: 树形DP.设dp[i]表示i的子树下的最优权值和,sum[i]表示不 ...
- 历年NOIP水题泛做
快noip了就乱做一下历年的noip题目咯.. noip2014 飞扬的小鸟 其实这道题并不是很难,但是就有点难搞 听说男神错了一个小时.. 就是$f_{i,j}$表示在第$i$个位置高度为$j$的时 ...
- rake deploy ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to解决方法
需要修改项目中Rakefile文件的内容: 原始内容:system "git push origin #{deploy_branch}" 改后内容:system "git ...
- 【第三课】WEBIX 入门自学-Hello World
在看官网教程时,入门的例子就是dataTable这个空间.So,遵循官网,一起来看一下入门的DataTable组件: WEB使用时固然是先引入相应的库文件: 代码如下 <html> < ...
- 试用avalon2.0
一直从事后端开发,对于前端的html+css+js,不熟不熟的.前面写了一个比较复杂的操作界面,我只能说,误工费时.花了一周研究avalonjs2,大神的确就是大神,解决了我很多的问题, 请参考htt ...
- Qgis连接Oracle
CMake编译中选择编译Oracle一项以后,编译的qgis才会有连接Oracle数据库的功能. 编译qgis以后,可以通过添加矢量图层中选择Oracle数据库,或是添加Oracle空间图层,或是添加 ...
- Android APK瘦身之Android Studio Lint (代码审查)
******** ******** 第一部分: 瘦身内容介绍 ******** ******** 项目新版本的迭代接近尾声, 因为历史累积问题, 导致有很多无效的资源让已经臃肿的APK变得更肿, 因此 ...