Greasy Fork is available in English.
渣浪微博上显示每篇博文的真实地址并点按钮复制方便传播 + 渣浪微博视频下载!作家方方:“微博有一种技术:就是你以为你发出去了,但其实没有人能看得到。自从知道有此一技术后,方明白:高科技作起恶来,一点不比瘟疫弱。”
// ==UserScript== // @id medicaldupeng // @name ##微博上显示每篇博文的真实地址并点按钮复制方便传播 + ##微博视频下载 // @version 0.1.4 // @author medicaldupeng // @namespace http://www.medicaldupeng.com/zh // @description 渣浪微博上显示每篇博文的真实地址并点按钮复制方便传播 + 渣浪微博视频下载!作家方方:“微博有一种技术:就是你以为你发出去了,但其实没有人能看得到。自从知道有此一技术后,方明白:高科技作起恶来,一点不比瘟疫弱。” // @include *weibo.com* // @exclude *service*.weibo.com/* // @exclude *api.weibo.com* // @grant GM_setClipboard // @grant GM_xmlhttpRequest // ==/UserScript== (function() { var origOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function(method, url) { this.addEventListener('load', function() { console.log('XHR finished loading', method, url); display(); }); this.addEventListener('error', function() { console.log('XHR errored out', method, url); }); origOpen.apply(this, arguments); }; })(); unsafeWindow.copyOut = function(thisNode){ let code = thisNode.previousElementSibling.textContent.trim(); GM_setClipboard(code); } function display(){ var weiboNodes = document.querySelectorAll('div.WB_handle'); for (var i=0; i<weiboNodes.length; i++){ try { var eachUrl = weiboNodes[i].querySelector('ul > li:nth-child(2) > a').getAttribute('action-data').split('&url=')[1].split('&')[0].trim(); var eachMid = weiboNodes[i].querySelector('ul > li:nth-child(2) > a').getAttribute('action-data').split('&mid=')[1].split('&')[0].trim(); if (weiboNodes[i].querySelector('span.each') == null){ weiboNodes[i].innerHTML += ' <span class="each">' + eachUrl + '</span> <button onclick = "copyOut(this); this.style.background=\'rgba(252,180,41,0.8)\';">拷此微博链接</button>'; weiboNodes[i].innerHTML += ' <a style="color: rgba(252,180,41,0.8);" href="javascript:void(0);" node-type="" action-type="fl_reEdit" action-data="isReEdit=1&mid=' + eachMid + '&domain=&is_ori=1&can_edit=1" suda-uatrack="">编辑微博</a>'; } if (weiboNodes[i].parentNode.previousElementSibling.querySelector('li.WB_video') != null){ let videoUrl = decodeURIComponent(decodeURIComponent(weiboNodes[i].parentNode.previousElementSibling.querySelector('li.WB_video').getAttribute('video-sources').replace('fluency=',''))); //let pattern = /http.+&480=(http.+,video?)&720=(http.+,video?)*&1080=(http.+,video?)*.+/g; let pattern = /(http.+,video)?&\d+=(http.+,video)?&\d+=(http.+,video)?&\d+=.+/g; let videoUrlList = pattern.exec(videoUrl); videoUrl = videoUrlList[videoUrlList.length - 1] == undefined ? videoUrlList[videoUrlList.length - 2] : videoUrlList[videoUrlList.length - 1]; console.log(videoUrl); if (weiboNodes[i].querySelector('a.gotVideo') == null){ weiboNodes[i].innerHTML += ' <a class="gotVideo" href="' + videoUrl + '" target="_blank" title="方方:“微博有一种技术:就是你以为你发出去了,但其实没有人能看得到。自从知道有此一技术后,方明白:高科技作起恶来,一点不比瘟疫弱。”">⇩ 视频下载 ⇩</a>'; } } } catch(err){ var eUrl = weiboNodes[i].querySelector('ul > li:nth-child(2) > a'); console.info(eUrl); } } }