获取页面内大图链接 tistory、imgur、naver blog

自己编写,获取tistory、imgur、naver blog原大图、staticflickr。链接在textarea里。naver blog过滤了导航图,有过滤url。 网页必须有URL跳转(?)

// ==UserScript==
// @name   		获取页面内大图链接 tistory、imgur、naver blog
// @author		驴肉火烧Pro
// @description 自己编写,获取tistory、imgur、naver blog原大图、staticflickr。链接在textarea里。naver blog过滤了导航图,有过滤url。 网页必须有URL跳转(?)
// @version		1.3
// @grant none
// @include         http://*
// @include         https://*
// @namespace https://greasyfork.org/users/21630
// ==/UserScript==

//忽略的链接
var ignore_links = new Array();
ignore_links[0] = "http://cfile25.uf.tistory.com/original/240D9043573347FA2B1197"; //http://jinfruitstore.tistory.com/
ignore_links[1] = "http://cfile25.uf.tistory.com/image/240D9043573347FA2B1197";

//获取图片URL
var img_tags = document.getElementsByTagName('img');

//生成一个外包div
var getURLDiv = document.createElement('div');
getURLDiv.className = 'getURLbox';	
getURLDiv.id = 'getURLboxId';		 
getURLDiv.innerHTML = "<p style='padding : 3px 0px 3px 5px; font-weight:bold; color:#FFFFF0; background-color: #8470FF'>tistory imgur 图片链接</p>";
//链接的div
var getURLboxlinks = document.createElement('div');
getURLboxlinks.id = 'getURLboxlinks';	
//用于隐藏和显示的按钮
var buttonshowgetURLDiv = document.createElement('button');
buttonshowgetURLDiv.innerHTML = '隐藏链接';
buttonshowgetURLDiv.setAttribute("onclick","document.getElementById('getURLboxlinks').style.display='none'"); 
var buttonhidegetURLDiv = document.createElement('button');
buttonhidegetURLDiv.innerHTML = '显示链接';
buttonhidegetURLDiv.setAttribute("onclick","document.getElementById('getURLboxlinks').style.display='block'"); 
//复制button
var buttoncopy = document.createElement('button');
buttoncopy.innerHTML = '复制';
buttoncopy.setAttribute("onclick","copyUrls()"); 
//buttoncopy.setAttribute("onclick","GM_setClipboard(getURLboxlinks.innerText)"); 

//添加urls
getURLboxlinks = add_pic_links(img_tags,ignore_links,getURLboxlinks);

//添加textarea和复制用funtion
var textareaURLs = document.createElement('textarea'); 
textareaURLs.id = 'urlinput'; 
textareaURLs.name = 'urlinput'; 
textareaURLs.value = getURLboxlinks.innerText;
var buttonshowgetURLDivjs = document.createElement('script'); 
buttonshowgetURLDivjs.innerHTML = "function copyUrls(){ urlinput.select(); document.execCommand('Copy'); }";  
	
if(have_pic_link(img_tags)==1){
	document.body.appendChild(getURLDiv);
	getURLDiv.appendChild(buttoncopy); 
    var afCopyBr = document.createElement('br'); getURLDiv.appendChild(afCopyBr); 
	getURLDiv.appendChild(textareaURLs); 
	getURLDiv.appendChild(buttonshowgetURLDivjs); 
  	document.getElementById('getURLboxlinks').style.display='none';
}

//function copyUrls(){ urlinput.select(); document.execCommand('Copy'); }

//判断有没有需要的图
function have_pic_link(tags){ 
	var havepic = 0; 	
	for (var i = 0; i < tags.length; i++) {
        if(tags[i].src.match(/\/\/cfile.*\/original\//i) || tags[i].src.match(/\/\/cfile.*\/image\//i) || tags[i].src.match(/i\.imgur.*/i) || tags[i].src.match(/imgur.*/i) || tags[i].src.match(/\.staticflickr.*/i) ){ 
				havepic = 1;
		}
		else if(tags[i].src.match(/\/\/postfiles.*/i)){ 
			if(tags[i].src.match(/type=m1.*/i)){  } //过滤导航用缩略图
			else{ havepic = 1;}	
		}
	}
	return havepic;
}

//处理链接 向div添加 返回div
function add_pic_links(tags,ignore_links,getURLboxlinks) {
	for (var i = 0; i < tags.length; i++) {
		var addBR = document.createElement('br');
		outerloop:
		{//代码块
		for ( var i1 = 0; i1 < ignore_links.length; i1++){
			if (tags[i].src==ignore_links[i1]) {break outerloop;}				
		}
        if(tags[i].src.match(/\/\/cfile.*\/original\//i)){ 
				var link = document.createElement('p');
                link.innerHTML = tags[i].src;
                getURLboxlinks.appendChild(link);		
                getURLboxlinks.appendChild(addBR);
				
		}
        else if(tags[i].src.match(/\/\/cfile.*\/image\//i)){
				var link = document.createElement('p');
                link.innerHTML =  tags[i].src.replace('image', 'original');
                getURLboxlinks.appendChild(link);	
                getURLboxlinks.appendChild(addBR);
        }
        else if(tags[i].src.match(/i\.imgur.*/i)){ 
				var link = document.createElement('p');
                link.innerHTML = tags[i].src;
                getURLboxlinks.appendChild(link);		
                getURLboxlinks.appendChild(addBR);
		}
		else if(tags[i].src.match(/imgur.*/i)){ 
				var link = document.createElement('p');
                link.innerHTML = tags[i].src;
                getURLboxlinks.appendChild(link);		
                getURLboxlinks.appendChild(addBR);
		}
		else if(tags[i].src.match(/\/\/postfiles.*/i)){ 
			if(tags[i].src.match(/type=m1.*/i)){  } //过滤导航用缩略图
			else{
				var link = document.createElement('p');
                link.innerHTML = tags[i].src.replace('postfiles', 'blogfiles');
                link.innerHTML = link.innerHTML.replace('?type=w1', '');
                getURLboxlinks.appendChild(link);		
                getURLboxlinks.appendChild(addBR);
			}	
		}else if(tags[i].src.match(/\.staticflickr.*/i)){ 
				var link = document.createElement('p');
                link.innerHTML = tags[i].src;
                getURLboxlinks.appendChild(link);		
                getURLboxlinks.appendChild(addBR);
		}
		}//代码块结尾
	}
	return getURLboxlinks;
}

//设置CSS http://www.w3school.com.cn/jsref/dom_obj_style.asp
document.getElementById("getURLboxId").style.cssText=" position:absolute; left:5px; top:25px; z-index:999; margin:0 auto; padding:0 auto; ";

 

/*			
http://cfile30.uf.tistory.com/original/2275164855FC9DFA252CE4
http://i.imgur.com/4SDAV6y.jpg

http://postfiles3.naver.net/20151114_114/deliveryjy_1447505814791WhNtY_JPEG/IMG_2875.jpg?type=w1
http://postfiles8.naver.net/20151114_135/deliveryjy_1447505413239wLSgS_JPEG/IMG_2774.jpg?type=m1
type=w1是博客正文图,type=m1是导航用缩略图

https://farm6.staticflickr.com/5728/22747977917_06d928c5bb_o.jpg

/KakaoTalk_20160407_161404117.jpg?type=w1
*/