批量下载贴吧原图

一键批量下载贴吧中一页的原图

当前为 2017-06-08 提交的版本,查看 最新版本

// ==UserScript==
// @name        批量下载贴吧原图
// @name:zh     批量下载贴吧原图
// @name:en     Batch srcImage downloader for tieba
// @version     1.7
// @description   一键批量下载贴吧中一页的原图
// @description:zh  一键批量下载贴吧中一页的原图
// @description:en  Batch Download Src Image From Baidu Tieba
// @supportURL  http://imcoder.site/article.do?method=detail&aid=124
// @match       http://tieba.baidu.com/*
// @match       https://tieba.baidu.com/*
// @match       http://imgsrc.baidu.com/*
// @match       https://imgsrc.baidu.com/*
// @require 	http://code.jquery.com/jquery-latest.js
// @author      Jeffrey.Deng
// @namespace https://gf.qytechs.cn/users/129338
// ==/UserScript==

// @weibo       http://weibo.com/3983281402
// @blog        http://imcoder.site
// @date        2017.6.3

// @更新日志
// V 1.7        2017.6.9       1.修复魅族等贴吧下载图标不显示的问题
// V 1.6        2017.6.5       1.提高下载的图片正确率
// V 1.5        2017.6.4       1.增加右键新标签打开图片直接打开原图
// V 1.4        2017.6.3       1.更新对 https 的支持
//                             2.提高图片匹配成功率


//右键新标签打开图片直接打开原图
var url = document.location.toString();
var m = null;
if( !(m = url.match(/^https?:\/\/imgsrc\.baidu\.com\/forum\/pic\/item\/.+/i)) ){
	if( (m = url.match(/^(https?):\/\/(?:imgsrc|imgsa|\w+\.hiphotos)\.(?:bdimg|baidu)\.com\/(?:forum|album)\/.+\/(\w+\.(?:jpg|jpeg|gif|png|bmp|webp))(?:\?.+)?$/i)) ){
		document.location = m[1] + "://imgsrc.baidu.com/forum/pic/item/" + m[2];
	}
}

//下载图片的过滤宽度
var width = 100;
var height = 100;
var srchost = "http://imgsrc.baidu.com/forum/pic/item";

(function(){
    var rightParent = null;
    var html = "";
    var liCount = $('ul',$('#tb_nav')).eq(0).find('li').length;
    var liArr = $('ul',$('#tb_nav')).eq(0).find('li');
    var rightLi =  liArr[  liCount-1 ];
    if( $(rightLi).hasClass('none_right_border') ){
        var tab = liArr[  liCount - 2 ];
        var isStarTie =  $(rightLi).hasClass("star_nav_tab");
        var rightHtml = "";
        if( isStarTie ){
           rightHtml = '<li class="star_nav_tab ">' + $(rightLi).html() + '</li>';
        }else{
           rightHtml = '<li class="j_tbnav_tab">' + $(rightLi).html() + '</li>';
        }
        $(tab).after(rightHtml);

        if( isStarTie ){
            html = '<div class="star_nav_tab_inner"><div class="space">'+
                  '<a title="点击下载本页图片" class="star_nav_ico star_nav_ico_photo" id="batchDownloadBtn"><i class="icon"></i>下载</a></div></div>';
        }else{
            html = '<div class="tbnav_tab_inner"><p class="space">'+
            '<a  title="点击下载本页图片" class="nav_icon icon_jingpin  j_tbnav_tab_a" id="batchDownloadBtn"  location="tabplay" >下载</a>'+
            '</p></div>';
        }
        $(rightLi).html(html);
    }else {
        html = '<li class="j_tbnav_tab">'+
            '<a class=" j_tbnav_tab_a" id="batchDownloadBtn">下载</a> </li>';
        $(rightLi).after(html);
    }

    $('#batchDownloadBtn').click(function(){
	    batchDownload();
    });
})();

/** 批量下载 **/
function batchDownload(){
  try{
      var arr = [];
      var postDiv_1 =  $('.post_bubble_middle');
      var postDiv_2 =  $('.d_post_content');
      var postDiv = $.merge(postDiv_1,postDiv_2);

      $(postDiv).find('img').each(function(i,img){
          var url = $(img).attr('src');
          var m = null;
          var srcUrl = "";
          if( $(img).width() < width ){
              return true;
          }else if( $(img).attr('class') === 'BDE_Image' && $(img).attr('pic_type')==="0" ){
              var filename = url.substring(url.lastIndexOf('/'));
              arr.push( srchost+filename );
          }else if( (m = url.match(/^(https?):\/\/(?:imgsrc|imgsa|\w+\.hiphotos)\.(?:bdimg|baidu)\.com\/(?:forum|album)\/.+\/(\w+\.(?:jpg|jpeg|gif|png|bmp|webp))(?:\?.+)?$/i)) ){
              //pic_type这时失效了,所以要正则判断地址是否为用户上传图片地址格式
              arr.push( srchost + "/" + m[2] );
          }
      });

      if(arr.length === 0){
           if( confirm( "未检测到图片,是否切换匹配方式查找" )   ){
               var postDiv_3 = $('.d_post_content_main');
               var postDiv_Max = $.merge(postDiv,postDiv_3);
               $(postDiv_Max).find('img').each(function(i,img){
                   var m = $(img).attr('src').match(/^(https?):\/\/(?:imgsrc|imgsa|\w+\.hiphotos)\.(?:bdimg|baidu)\.com\/(?:forum|album)\/.+\/(\w+\.(?:jpg|jpeg|gif|png|bmp|webp))(?:\?.+)?$/i) ;
                   if( $(img).attr('class') === 'BDE_Image' && $(img).width() >= width && m !==null ){
                       var srcUrl = srchost + "/" + m[2];
                       arr.push(srcUrl);
                   }
               });
           }
      }

      if( confirm( "是否下载 " + arr.length +" 张图片" )  ){
         download(arr);
      }
  }catch(e){

  }

}

/** 下载 **/
function download(arr){
    arr.map(function(i){
        var a = document.createElement('a');
        a.setAttribute('download','');
        a.href=i;
        document.body.appendChild(a);
        a.click();
    });
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址