Greasy Fork

1688图片获取脚本

获取1688产品图片

目前为 2016-12-27 提交的版本。查看 最新版本

// ==UserScript==
// @name         1688图片获取脚本
// @namespace    http://detail.1688.com/offer
// @version      0.4
// @description  获取1688产品图片
// @author       Richard He
// @iconURL      http://of7m52aos.bkt.clouddn.com/icon.png
// @match        https://detail.1688.com/offer/*
// @run-at       document-end
// @grant        GM_setClipboard
// @grant        GM_log
// @grant        GM_notification
// ==/UserScript==

(function() {
    'use strict';
    
    document.getElementsByTagName('img').onContextMenu = function(){return true;};
    //缩略图获取部分开始
    var but = document.createElement('div');
    but.style.width = '380px';
    but.innerText = '请手动将所有缩略图显示后再点击';
    but.id = 'but';
    but.style.height = '40px';
    but.style.textAlign = 'center';
    but.style.lineHeight = '40px';
    but.style.cursor = 'hand';
    but.style.fontSize = '14px';
    but.style.border = '1px solid #000';
    but.onclick = function(){getImg();};
    document.getElementsByClassName('region-detail-gallery')[0].appendChild(but);
    function getImg(){
    document.getElementById('but').style.display = "none";
    //获取原图地址
    var tri = document.getElementsByClassName('tab-trigger');
    var count = tri.length;
    for(var i=0;i<count;i++)
    {
        var thumb1 = tri[i].childNodes[1].childNodes[1].childNodes[1];
        var arr;
        arr = thumb1.src.split(".");
        if(i<5)
        arr.splice(-2,1);
        else{
        var suffix = arr[arr.length-2];
        var temp = suffix.substring(0,suffix.length-1);
        arr.splice(-3,3);
        arr.push(temp);
        }
        var addr = arr.join(".");

        
    //生成按钮
        var buttonR = document.createElement('a');
        buttonR.href = addr;
        buttonR.target = '_blank';
        buttonR.innerHTML = i+1;
        //buttonR.style.position = 'absolute';
        //buttonR.style.left = '200px';
        //buttonR.style.top = 300+i*40+"px";
        buttonR.style.border='1px solid #000';
        buttonR.style.width = '24px';
        buttonR.style.height = '24px';
        buttonR.style.textAlign = 'center';
        buttonR.style.lineHeight = '24px';
        buttonR.style.backgroundColor = '#ddd';
        buttonR.style.color = '#000';
        buttonR.style.float = 'left';
        buttonR.style.margin = '2px 2px';
        //document.getElementById('dt-tab').insertBefore(buttonR,document.get
        document.getElementsByClassName('region-detail-gallery')[0].appendChild(buttonR);
    }
    }
    //缩略图部分完毕
    
    //分类图开始
    var objLeading = document.getElementsByClassName('obj-leading')[0];
    if(typeof(objLeading) != 'undefined')
    {
        var wrapper = document.createElement('div');
        wrapper.className = 'obj-leading';
        objLeading.parentNode.insertBefore(wrapper,objLeading.nextSibling);

        var objHeader = document.createElement('div');
        objHeader.className = 'obj-header';
        objHeader.innerText = '下载';
        wrapper.appendChild(objHeader);

        var objContent = document.createElement('div');
        objContent.className = 'obj-content';
        wrapper.appendChild(objContent);

        var listLeading = document.createElement('ul');
        listLeading.className = 'list-leading';
        listLeading.innerText = '等待分类图片显示完毕点击此处';
        listLeading.style.cursor = 'pointer';
        listLeading.onclick = function (){ this.innerText = '';getCat();};
        objContent.appendChild(listLeading);

        function getCat()
        {
            var lis = objLeading.childNodes[3].childNodes[1].childNodes;
            var srcs = new Array();
            lis.forEach(function(val,ind,lis){if(val.nodeName == "LI")srcs.push(val.childNodes[1].childNodes[1].childNodes[1].childNodes[1].childNodes[1].src);});

            for(var i=0;i<srcs.length;i++)
            {
                var temp;
                temp = srcs[i].split('.');
                temp.splice(-2,1);
                srcs[i] = temp.join('.');
                var li = document.createElement('li');
                li.innerHTML = "<a class='img' style='line-height:36px;text-align:center;color:#FF500B;font-weight:bold;display:inline-block;width:36px;height:36px;border:1px solid #FF500B' target='_blank' href='"+srcs[i]+"'>"+(i+1)+"</a>";
                listLeading.appendChild(li);
            }
        }
    }
       console.log('here');
    //获取详情图
    var imgAdrs = new Array();
    var buttonC = document.createElement('a');
    buttonC.href="javascript:void(0);";
    buttonC.onclick = function() 
    {
        var desLis = document.getElementById('desc-lazyload-container').childNodes;
        var imgSrcs = new Array();
        for(var h=0;h<desLis.length;h++)
        {
            if(desLis[h].nodeName == "P")
            {
                for(var i=0;i<desLis[h].childNodes.length;i++)
                {
                    if(desLis[h].childNodes[i].nodeName == 'IMG')
                    {
                        imgSrcs.push(desLis[h].childNodes[i].src);
                    }
                }
            }
        }
       
        //判断Win还是Mac 
        if(navigator.platform.toLowerCase().indexOf('win')>=0)
        {
            var imgs = imgSrcs.join("-");
            var form1 = document.createElement('form');
            form1.id = 'sm';
            form1.method = 'POST';
            form1.action = 'http://www.xuebalib.cn/3.php?name='+imgs;
            form1.target = '_blank';
            document.body.appendChild(form1);
            document.getElementById('sm').submit();
        }
        else 
        {
            var clip = '';
            imgSrcs.forEach(function(val,ind,arr){clip = clip + val + "\r\n";});
            GM_setClipboard('','text');
            GM_setClipboard(clip,'text');
            GM_notification({
                text:'本次共拷贝'+imgSrcs.length+' 个网址',
                title:'拷贝成功'
            },function(){GM_log('suc');});
        };
    };
    buttonC.target = '_blank';
    buttonC.innerHTML = '获取详情页';
    buttonC.style.zIndex = 666;
    buttonC.style.position = 'fixed';
    buttonC.style.bottom = '0px';
    buttonC.style.right = '200px';
    buttonC.style.border = '1px solid #FF8F1C';
    buttonC.style.padding = '6px 12px';
    buttonC.style.color = '#FF8F1C';
    document.body.appendChild(buttonC);
    
    //图片加边框
    var buttonD= document.createElement('a');
    buttonD.href="javascript:void(0);";
    buttonD.onclick = function() 
    {
        var desLis = document.getElementById('desc-lazyload-container').childNodes;
        var imgSrcs = new Array();
        for(var h=0;h<desLis.length;h++)
        {
            if(desLis[h].nodeName == "P")
            {
                for(var i=0;i<desLis[h].childNodes.length;i++)
                {
                    if(desLis[h].childNodes[i].nodeName == 'IMG')
                    {
                        desLis[h].childNodes[i].style.borderTop = '4px solid red';
                        desLis[h].childNodes[i].style.borderBottom = '4px solid red';
                    }
                }
            }
        }
    };
    buttonD.target = '_blank';
    buttonD.innerHTML = '图片加边框';
    buttonD.style.position = 'fixed';
    buttonD.style.bottom = '40px';
    buttonD.style.right = '200px';
    buttonD.style.zIndex = 666;
    buttonD.style.border = '1px solid #FF8F1C';
    buttonD.style.padding = '6px 12px';
    buttonD.style.color = '#FF8F1C';
    document.body.appendChild(buttonD);
})();