您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
淘宝缩略图、分类图、详情图下载 # 目前可适配金牌店铺,普通店铺,全球购 ## 分类图下载不适配服装类店铺 ##分类图会将已经无货下架的分类也显示出来
当前为
// ==UserScript== // @name 淘宝 图片获取脚本 // @namespace https://item.taobao.com/ // @version 1.5 // @description 淘宝缩略图、分类图、详情图下载 # 目前可适配金牌店铺,普通店铺,全球购 ## 分类图下载不适配服装类店铺 ##分类图会将已经无货下架的分类也显示出来 // @author Richard He // @homepage http://www.greasyfork.org/users/89556 // @iconURL http://p8fvixyr8.bkt.clouddn.com/images/icon/taobaoImageDown.ico // @resource css http://p8fvixyr8.bkt.clouddn.com/1.css // @match https://item.taobao.com/* // @grant GM_setClipboard // @grant GM_notification // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_download // ==/UserScript== //Jshint Options /*jshint multistr:true */ //Document Css Style GM_addStyle(GM_getResourceText('css')); GM_addStyle('\ .thumb-ul{\ font-family:Arial;\ font-weight:bold;\ }\ .thumb-ul li{\ border-style:solid;\ border-color:#FE4403!important;\ font-family:Arial;\ font-weight:bold;\ font-size:16px;\ cursor:pointer;\ }\ .cat-ul li{\ cursor:pointer;\ font-size:14px;\ font-family:Arial;\ }\ .detail-li,.border-li{\ width:40px!important;\ padding:0px!important;\ }\ .tb-tabbar>li{\ min-width:80px!important;\ }\ '); //Global Varible var d = document; var paramsObj = {}; //store all the parameters in url var params = location.search.substr(1).split('&'); for(var i=0;i<params.length;i++) { paramsObj[params[i].split('=')[0]] = unescape(params[i].split('=')[1]); } //下载商品 缩略图 var thumbUl = d.getElementById('J_UlThumb'); var thumbSrc = []; var ulThumb = d.createElement('ul'); ulThumb.className = 'tb-thumb tb-clearfix thumb-ul'; var liThumb,divThumb,aThumb; d.getElementsByClassName('tb-gallery')[0].appendChild(ulThumb); var thumbLis = thumbUl.getElementsByTagName('li'); console.log(thumbLis.length); if(thumbLis[0].id == 'J_VideoThumb'){console.log('video');} for(var i =0;i<thumbUl.getElementsByTagName('li').length;i++) { thumbSrc[i] = thumbUl.getElementsByTagName('li')[i].getElementsByTagName('img')[0].src; thumbSrc[i] = thumbSrc[i].substr(0,thumbSrc[i].length-16); liThumb = d.createElement('li'); ulThumb.appendChild(liThumb); divThumb = d.createElement('div'); divThumb.className = 'tb-pic tb-s50'; liThumb.appendChild(divThumb); aThumb = d.createElement('a'); aThumb.innerText = i+1; aThumb.src = '###'; aThumb.title = thumbSrc[i]; aThumb.data = thumbSrc[i]; aThumb.seq = i+1; divThumb.appendChild(aThumb); aThumb.onclick = function() { GM_download(this.data,paramsObj.id+'缩略图'+this.seq+this.data.substr(-4,4)); }; aThumb.onmouseover = function() { thumbUl.getElementsByTagName('li')[this.seq-1].className = 'tb-selected'; }; aThumb.onmouseout = function() { thumbUl.getElementsByTagName('li')[this.seq-1].className = ''; }; } //下载图片 分类图片 var catDl = d.getElementsByClassName('J_Prop_Color')[0]; var imgExist = 0; for(var i =0;i<catDl.getElementsByTagName('a').length;i++) { if(catDl.getElementsByTagName('a')[i].style.backgroundImage!= '') { imgExist =1; } } if(imgExist>0) { var catAs = catDl.getElementsByTagName('a'); var catImages =[]; var dlCat,dtCat,ddCat,ulCat,liCat,aCat; dlCat = d.createElement('dl'); dlCat.className = 'J_Prop tb-prop tb-clear J_Prop_Color'; catDl.parentNode.insertBefore(dlCat,catDl.nextSibling); dtCat = d.createElement('dt'); dtCat.className = 'tb-property-type'; dlCat.appendChild(dtCat); dtCat.innerText = '分类下载'; ddCat = d.createElement('dd'); dlCat.appendChild(ddCat); ulCat = d.createElement('ul'); ulCat.className = 'J_TSaleProp tb-img tb-clearfix cat-ul'; ddCat.appendChild(ulCat); var bgImg; for(var i=0;i<catAs.length;i++) { bgImg = catAs[i].style.backgroundImage; if(bgImg != '') { catImages[i] ='https:'+bgImg.substr(5,bgImg.length-17); } else { catImages[i] = 0; } liCat = d.createElement('li'); ulCat.appendChild(liCat); aCat = d.createElement('a'); liCat.appendChild(aCat); aCat.data = catImages[i]; aCat.innerText = i+1; aCat.onmouseover = function() { if(this.data != 0) {catDl.getElementsByTagName('li')[this.innerText-1].className = 'tb-selected';} else {catDl.getElementsByTagName('li')[this.innerText-1].className += ' tb-selected';} }; aCat.onmouseout = function() { if(this.data != 0) {catDl.getElementsByTagName('li')[this.innerText-1].className = '';} else {catDl.getElementsByTagName('li')[this.innerText-1].className = 'tb-txt';} }; aCat.onclick = function() { if(this.data == 0) { GM_notification('请注意:这个分类没有图片','温馨提示'); } else { GM_download(this.data,paramsObj.id+'分类图'+this.innerText+this.data.substr(-4,4)); } }; } } // var tbProp = document.getElementsByClassName('tb-prop'); // if(tbProp===null||'undefined'&&tbProp[0].getElementsByTagName('dt')[0].innerHTML!='尺码') //match variours kinds of shops // { // tbProp = document.getElementsByClassName('J_Prop'); // var down = document.createElement('dl'); // var dt1 = document.createElement('dt'); // tbProp[0].parentNode.insertBefore(down,tbProp[0].nextSibling); // dt1.className = 'tb-property-type'; // dt1.innerText = '下载分类'; // down.id = "down"; // down.appendChild(dt1); // var dd = document.createElement('dd'); // down.appendChild(dd); // var ul = document.createElement('ul'); // ul.className = 'J_TSaleProp tb-img tb-clearfix'; // dd.appendChild(ul); // var as = tbProp[0].getElementsByTagName('a'); // var count = 0; // for(var i in as) // { // if(typeof as[i] == 'object') // { // src = as[i].style.backgroundImage.slice(5,-12); // if(src !="") // { // var li = document.createElement('li'); // var bt = document.createElement('button'); // bt.className = 'comBut butF'; // bt.title = 'http:' + src; // bt.style.backgroundImage = "url("+src+"_30x30.jpg"+")"; // bt.style.backgroundRepeat = "no-repeat"; // bt.style.backgroundPosition = "center center"; // bt.onclick = function() // { // GM_download(this.title,"F"); // }; // ul.appendChild(li); // li.appendChild(bt); // } // else // { // } // } // } // if(document.getElementById('down').getElementsByTagName('li').length===0) // { // document.getElementById('down').style.display = 'none'; // } // } document.onreadystatechange = makeButton;//当页面加载状态改变的时候执行这个方法. function makeButton() { if(document.readyState == "complete") //当页面加载状态 { //获取商品 详情图 var imgAdrs = []; var detailLi = d.createElement('li'); detailLi.className = 'detail-li'; var detailA = d.createElement('a'); detailA.onclick = function() { var desLis = document.getElementById('J_DivItemDesc').childNodes; var des = document.getElementById('J_DivItemDesc'); var imgs = des.getElementsByTagName('img'); for(var i in imgs) { if(typeof imgs[i] == 'object' && imgs[i].src.indexOf('assets')<0) imgAdrs.push(imgs[i].src); } GM_notification({ text:'本次将下载 '+imgAdrs.length+ ' 张图片', title:'友情提示',timeout:3000},function() { for(var j in imgAdrs) { GM_download(imgAdrs[j],paramsObj.id+"详情图"+(parseInt(j)+1)); } }); }; detailA.innerText = '下载'; detailA.href = '###'; detailA.className = 'tb-tab-anchor'; detailA.title = '注意:点击之前先将页面下拉,使得所有图片完全显示完毕再点击下载按钮,否则将下载一些不完整的图片'; detailLi.appendChild(detailA); document.getElementById('J_TabBar').insertBefore(detailLi,document.getElementById('J_ServiceTab').nextSibling); //图片加边框 var borderLi = d.createElement('li'); var detailImagesObj = d.getElementById('J_DivItemDesc').getElementsByTagName('img'); borderLi.className = 'border-li'; var borderA = d.createElement('a'); borderA.alt = 0; borderLi.appendChild(borderA); borderA.onclick = function() { if(this.alt == 0) { for(var i in detailImagesObj) { if(typeof detailImagesObj[i] == 'object' && detailImagesObj[i].src.indexOf('assets')<0) detailImagesObj[i].style.borderBottom = '20px solid #F12D03'; } this.alt = 1; this.innerText = '去框'; } else { this.alt = 0; for(var j in detailImagesObj) { if(typeof detailImagesObj[j] == 'object' && detailImagesObj[j].src.indexOf('assets')<0) detailImagesObj[j].style.borderBottom = '0px solid #F12D03'; } this.innerText = '加框'; } }; borderA.className = 'tb-tab-anchor'; borderA.href = '###'; borderA.innerHTML = '加框'; borderA.title = '单击一次:给详情图每张图片下方添加20像素宽红色边框;再次单击:取消边框'; document.getElementById('J_TabBar').insertBefore(borderLi,document.getElementById('J_ServiceTab').nextSibling); } }