您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
提供微博-微相册 ( photo.weibo.com ) 、豆瓣-豆瓣电影 ( movie.douban.com ) 相册专辑内单页原图批量下载
// ==UserScript== // @name 微博、豆瓣相册原图批量下载 // @namespace http://tampermonkey.net/ // @version 0.2 // @description 提供微博-微相册 ( photo.weibo.com ) 、豆瓣-豆瓣电影 ( movie.douban.com ) 相册专辑内单页原图批量下载 // @author ShuangruiYang // @match *movie.douban.com/*/photos* // @match *photo.weibo.com/*/talbum/index* // @match *photo.weibo.com/*/albums/detail* // @grant none // @license MIT // ==/UserScript== (function () { `use strict`; var config_; const batch_download = function () { let $img_list = document.querySelectorAll(config_.$img_list_selector); // 验证预览图是否未加载 是则 等待1秒后再次验证 if ($img_list.length == 0) { setTimeout(batch_download, 1000); return; } $img_list.forEach(($img) => { // 格式化 原图下载链接 let download_$a = document.createElement("a"); download_$a.href = $img.src.replace(config_.photo_src_regex, config_.photo_src_replacement); download_$a.download = $img.parentNode.href.replace(config_.photo_id_regex, config_.photo_id_replacement); fetch(download_$a.href) .then(res => res.blob()) .then(blob => { let blob_url = window.URL.createObjectURL(blob); download_$a.href = blob_url; download_$a.click(); window.URL.revokeObjectURL(blob_url); }); }); } const init = function () { const domain_regex = /:\/\/(?<domain>[\w\.]+)/; const config_map = { "movie.douban.com": { "batch_download_$button_container_selector": ".opt-bar-line", "batch_download_$button_class": "fright", "$img_list_selector": "div.article ul li img", "photo_id_regex": /.+photo\/(?<id>\d+).*/, "photo_id_replacement": "$<id>", "photo_src_regex": /(?<prefix>.+photo\/)\w+(?<suffix>\/public.+)\..*/, "photo_src_replacement": "$<prefix>raw$<suffix>", }, "photo.weibo.com": { "batch_download_$button_container_selector": ".m_share_like", "batch_download_$button_class": undefined, "$img_list_selector": "ul.photoList li img", "photo_id_regex": /.+photo_id\/(?<id>\d+).*/, "photo_id_replacement": "$<id>", "photo_src_regex": /(?<prefix>.+\/)\w+(?<suffix>\/.*)/, "photo_src_replacement": "$<prefix>large$<suffix>", } }; let domain = domain_regex.exec(document.location.origin).groups.domain; config_ = config_map[domain]; let batch_download_$button = document.createElement("button"); batch_download_$button.textContent = "批量下载原图"; batch_download_$button.style.fontWeight = "bolder"; batch_download_$button.classList.add(config_.batch_download_$button_class); batch_download_$button.onclick = batch_download; document.querySelector(config_.batch_download_$button_container_selector).appendChild(batch_download_$button); } init(); })();