🏠 

天猫 图片获取脚本

下载天猫缩略图,分类图以及详情图


安装此脚本?
// ==UserScript==
// @name         天猫 图片获取脚本
// @namespace    https://www.tmall.com
// @version	 1.29
// @description	 下载天猫缩略图,分类图以及详情图
// @author       Richard He
// @homepage     https://www.greasyfork.org/users/89556
// @iconURL      https://img.alicdn.com/tfs/TB1XlF3RpXXXXc6XXXXXXXXXXXX-16-16.png
// @match        https://detail.tmall.com/*
// @match        https://detail.tmall.hk/*
// @grant        GM_log
// @grant        GM_setClipboard
// @grant        GM_notification
// @grant        GM_download
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_deleteValue
// @grant	 GM_addStyle
// @license      MIT
// ==/UserScript==
//match example url
//1. https://detail.tmall.com/item.htm?id=559254305797
/*jshint multistr:true */
//CSS Style
GM_addStyle('\
/* style for thumbs */\
.thumbUlOverride li{\
padding-top:0px!important;\
}\
.thumbUlOverride li a {\
border:2px solid #000;\
width:56px!important;\
height:56px!important;\
font-size:22px;\
font-family:Arial;\
font-weight:bold;\
color:#FE0335!important;\
line-height:56px!important;\
}\
.img-down li a{\
font-family:Arial;\
cursor:pointer;\
color:#FE0335;\
font-weight:bold;\
font-size:16px;\
}\
.cat-ul{\
\
}\
.cat-ul li{\
line-height:28px;\
float:left;\
position:relative;\
margin:0 4px 4px 0;\
vertical-align:middle;\
padding:1px;\
list-style:none;\
}\
.cat-ul li a{\
width:38px!important;\
height:38px;\
padding:0px;\
line-height:38px;\
outline:0;\
font-family:Arial;\
color:#FE0335;\
font-weight:bolder;\
}\
');
//Vars needed
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 d = document;
var thumbList = d.getElementById('J_UlThumb');
var imgAddress = [];
var imgSrc = '';
var Seq;
var thumbUl,thumbLi,thumbA;
thumbUl = d.createElement('ul');
thumbUl.className = 'tb-thumb tm-clear thumbUlOverride';
d.getElementsByClassName('tb-gallery')[0].appendChild(thumbUl);
for(var i=0;i<thumbList.getElementsByTagName('li').length;i++)
{
imgSrc = thumbList.getElementsByTagName('li')[i].getElementsByTagName('a')[0].getElementsByTagName('img')[0].src;
imgAddress[i] = imgSrc.substr(0,imgSrc.length-13);
//生成按钮
thumbLi = d.createElement('li');
thumbA = d.createElement('IMG');
thumbA.src = imgAddress[i];
thumbA.style.cursor = "pointer";
thumbA.title = i+1;
thumbA.onmouseover = function()
{
thumbList.getElementsByTagName('li')[this.title-1].className = 'tb-selected';
};
thumbA.onmouseout = function()
{
thumbList.getElementsByTagName('li')[this.title-1].className = 'tb-thumb tm-clear';
};
thumbA.onclick = function()
{
Seq = parseInt(this.title);
Seq = Seq < 10 ? "0" + Seq : Seq;
GM_download(this.src,"S" + paramsObj.id.substr(-2,2) + Seq + this.src.substr(-4,4));
};
thumbUl.appendChild(thumbLi);
thumbLi.appendChild(thumbA);
}
//下载商品 颜色分类图
var catImage = d.getElementsByClassName('tb-img')[0];
var jAmount = d.getElementById('J_Amount');
var catWrapperDl,catWrapperDt,catWrapperDd,catWrapperUl,catWrapperLi;
var catImageList = [];
var bgImage = '';
var catA;
if(jAmount.nodeName == 'DD'&&typeof(catImage)!='undefined'&&document.getElementsByClassName('tb-img')[0].childNodes[1].childNodes[1].style.backgroundImage.indexOf('url')>=0)
{
catWrapperDl = d.createElement('dl');
catWrapperDt = d.createElement('dt');
catWrapperUl = d.createElement('ul');
catWrapperLi = d.createElement('li');
jAmount.parentNode.parentNode.insertBefore(catWrapperDl,jAmount.parentNode);
catWrapperDl.appendChild(catWrapperDt);
catWrapperDd = d.createElement('dd');
catWrapperDl.appendChild(catWrapperDd);
catWrapperDd.appendChild(catWrapperUl);
catWrapperDl.className = 'tb-prop';
catWrapperDt.className = 'tb-metatit';
catWrapperDt.innerHTML = '天猫图片<br/>分类下载';
catWrapperUl.className = 'cat-ul';
for(var i=0;i<catImage.getElementsByTagName('li').length;i++)
{
bgImage = catImage.getElementsByTagName('li')[i].getElementsByTagName('a')[0].style.backgroundImage;
catImageList[i] = 'http:'+bgImage.substr(5,bgImage.length-20);
catWrapperLi = d.createElement('li');
catA = d.createElement('a');
catA.href = '#';
catA.data = catImageList[i];
catA.innerText = i+1;
catA.onmouseover = function()
{
catImage.getElementsByTagName('li')[this.innerText-1].className = 'tb-selected';
};
catA.onmouseout = function()
{
catImage.getElementsByTagName('li')[this.innerText-1].className = '';
};
catA.onclick = function()
{
Seq = this.innerText;
Seq = Seq < 10 ? "0" + Seq : Seq;
GM_download(this.data,"F" + paramsObj.id.substr(-2,2) + Seq);
};
catWrapperUl.appendChild(catWrapperLi);
catWrapperLi.appendChild(catA);
}
catWrapperLi = d.createElement('li');
catA = d.createElement('a');
catA.href = '#';
catA.innerText = '全';
catA.title = '点击下载全部分类图片';
catA.onclick = function()
{
for(var i=0;i<catImage.getElementsByTagName('li').length;i++)
{ console.log(i);
GM_download(catImageList[i],paramsObj.id+'分类图'+(i+1));
}
}
catWrapperUl.appendChild(catWrapperLi);
catWrapperLi.appendChild(catA);
}
//下载 商品详情图 可给图片加边框以方便下载单个图片
var imgAdrs =[];
var Seq;
var jTabBar = d.getElementById('J_TabBar');
var detailLi = d.createElement('li');
var detailA = d.createElement('a');
detailLi.appendChild(detailA);
jTabBar.insertBefore(detailLi,d.getElementsByClassName('tm-qrcode-icon')[0]);
detailA.href = '#description';
detailA.onclick = function() {
detailLi.className = 'tm-selected';
var desLis = d.getElementsByClassName('ke-post')[0].childNodes;
if (typeof (desLis[0]) != 'undefined') {
for (var l = 0; l < desLis.length; l++) {
if (desLis[l].nodeName == 'IMG') {} else if (desLis[l].childNodes.length > 0) {
for (var m = 0; m < desLis[l].childNodes.length; m++) {
if (desLis[l].childNodes[m].nodeName == 'IMG')
imgAdrs.push(desLis[l].childNodes[m].src);
}
}
}
GM_notification('本次将下载 ' + imgAdrs.length + ' 张图片,点击此处下载', '友情提示');
for (var k = 0; k < imgAdrs.length; k++) {
Seq = k + 1;
Seq = Seq < 10 ? '0'+ Seq : Seq;
GM_download(imgAdrs[k], "X"+paramsObj.id.substr(-2,2) + Seq + imgAdrs[k].substr(-4, 4));
}
}
}                ;
detailA.innerHTML = '下载详情图';
detailA.title = '请注意,下载详情图之前请先将所有详情图片显示完毕再点击此按钮下载,否则会出现下载不完整等问题';
//图片加边框
var borderLi = d.createElement('li');
var borderA= d.createElement('a');
borderLi.appendChild(borderA);
jTabBar.insertBefore(borderLi,d.getElementsByClassName('tm-qrcode-icon')[0]);
borderA.href="javascript:void(0)";
borderLi.onclick = function()
{
borderLi.className = 'tm-selected';
var desLis = d.getElementsByClassName('ke-post')[0].childNodes;
if(typeof(desLis[0])!='undefined')
{
for(var i=0;i<desLis.length;i++)
{//console.log(desLis[i]);
if((desLis[i].align == "absmiddle"|desLis[i].alt!='')&&desLis[i].nodeName == 'IMG') //filter other images and elements
{
desLis[i].style.borderTop = '8px solid #000';
desLis[i].style.borderBottom = '8px solid #000';
}
else if(desLis[i].childNodes.length>0)
{
for(var j=0;j<desLis[i].childNodes.length;j++)
{
if(desLis[i].childNodes[j].nodeName == 'IMG')
desLis[i].childNodes[j].style.borderTop = '8px solid #000';
desLis[i].childNodes[j].style.borderBottom = '8px solid #000';
}
}
else
{
}
}
}
};
borderA.innerHTML = '详情图加框';
borderA.title = '点击后每一张单独的图片上下会添加黑色边框,便于单张或多张选择下载';