网页视频抓取脚本(一点js脚本的保存方法还有很多,你很想试一试)
优采云 发布时间: 2021-12-06 20:05网页视频抓取脚本(一点js脚本的保存方法还有很多,你很想试一试)
这两天有点闲,想了一个小js脚本,作用是把当前网页的所有图片一次性保存到本地,以免图片被右键每次。
测试环境:Chrome开发者模式(启动Chrome,按F12)
测试页面:知乎一个问题
原理很简单,就是利用a标签的href和download属性和点击事件。
直接贴代码:
<p> 1 //一个对象,存储页面图片数量和下载的数量
2 var monitorObj = {
3 imgTotal: 0,
4 imgLoaded: 0
5 }
6 //创建a标签,赋予图片对象相关属性,并插入body
7 var createA = function (obj) {
8 var a = document.createElement("a");
9 a.id = obj.id;
10 a.target = "_blank";//注意:要在新页面打开
11 a.href = obj.url;
12 a.download = obj.url;
13
14 document.body.appendChild(a);
15 }
16
17 //获取页面的图片
18 var imgs = document.images;
19 //创建每个图片对象的对应a标签
20 for (var i = 0; i < imgs.length;i++){
21 var obj = {
22 id: "img_" + i,
23 url: imgs[i].src
24 }
25 //过滤掉不属于这几种类型的图片
26 if (["JPG", "JPEG", "PNG","GIF"].indexOf(obj.url.substr(obj.url.lastIndexOf(".")+1).toUpperCase()) < 0) {
27 continue;
28 }
29 //这里是为了去掉知乎用户头像的图片,头像大小是50*50
30 if (imgs[i].width