Greasy Fork is available in English.

Ptt抓圖仔

就是要抓圖。

// ==UserScript==
// @name         Ptt抓圖仔
// @namespace    http://tampermonkey.net/
// @version      2.5
// @description  就是要抓圖。
// @author       You
// @match       https://www.ptt.cc/bbs/*
// @icon         https://www.google.com/s2/favicons?domain=pttweb.cc
// @grant        none
// ==/UserScript==

window.addEventListener('load', function(){
    //等待函數
function delay(n){
    return new Promise(function(resolve){
        setTimeout(resolve,n*1000);
    });
}

let d=document,img="https://i.imgur.com/";

//下載函數
async function download(U,X,I){
//U="網址"
let r=d.createElement("a");
r.setAttribute("download",U);
r.setAttribute("href",U);r.referrerPolicy='no-referrer';
r.click();
//擷取網址"/"斜線最後一段的文字  通知下載
console.log(U.split("/")[U.split("/").length-1]+"已下載");
};

//找到網址
let ariticle="#main-content > a"
let m=d.querySelectorAll(ariticle);
console.log("共計"+m.length+"項需要下載");

async function clickevent(){
//以迴圈確認符合條件的標籤(<herf>或<src>等等)    再找尋每一項是否:合圖片的條件(.jpg .png等等)
for (let i=0;i<m.length;i++){
	if(m[i].href.search(/imgur|jpg|png|gif|jpeg/)>-1){
		let u=m[i].href;
		if (u.search(/jpg|png|gif|jpeg/)<0){
			u=img+u.split("/")[u.split("/").length-1]+".jpg";
		};
		//測試句console.log(u);
		download(u,m,i);await delay(1);
		if (i%10===0&i!=0){
			console.log("下載超過"+i+"項,等待"+i/10*5+"秒");
			await delay(i/10*5);};
	};
		};

console.log("共計"+m.length+"項下載已完成");
}


//鍵盤監聽事件
d.body.addEventListener("keydown", function (e) {

if (e.keyCode == 119) {//若按下F8:一鍵打包文章內圖片
clickevent();
};
    });
 });