您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
在 https://movie.douban.com/subject/* 的下面,可以给当前电影添加相应的磁力连接,方便下载。
当前为
// ==UserScript== // @name 豆瓣电影磁力链 // @namespace http://tampermonkey.net/ // @version 1.18.0526.15 // @description 在 https://movie.douban.com/subject/* 的下面,可以给当前电影添加相应的磁力连接,方便下载。 // @author anntiza // @match https://movie.douban.com/subject/* // @connect www.wcs123.com // @run-at document-idle // @grant GM.xmlHttpRequest // @grant GM_setClipboard // ==/UserScript== (function() { 'use strict'; // 获取电影的标题 let title = document.querySelector("#content h1 span"); // 取中文名 let key = title.innerText.split(" ")[0]; // 在此点前插入显示磁力结果的表格 let info = document.querySelector("#interest_sect_level"); let data=[]; // 转换搜索结果 function parsetext(text) { let doc = null; try { doc = document.implementation.createHTMLDocument(""); doc.documentElement.innerHTML = text; return doc; } catch (e) { // alert("parse error"); } } // 将搜索结果保存到数组中 function make_data(mags){ let d=[]; mags.forEach(function(item,index){ d.push({ "title":item.querySelector("h3").innerText, "url": "http://www.wcs123.com"+item.querySelector("h3>a").href, "magnet": item.querySelector("span>a").href, "hot": item.querySelector("span:nth-child(5)>b").innerText, "description": item.querySelector("span:nth-child(6)").innerText.split(":")[1] }); }); return d; } // function handle_copy_event(event) { // event.target.innerHTML = "成功"; // GM_setClipboard(event.target.href); // setTimeout(function () { // event.target.innerHTML = "复制磁力链"; // }, 1000); // event.preventDefault(); //阻止跳转 // } // 创建显示结果的表格 function create_table(data){ let table = document.createElement("table"); let thead = table.createTHead(); let tbody = table.createTBody(); // 使用 douban 原有的表格样式 table.setAttribute("class","olt"); let tr = document.createElement("tr"); let th1 = document.createElement("th"); let magnetTitle = document.createElement("strong"); magnetTitle.innerText="操作"; th1.appendChild(magnetTitle); th1.setAttribute("style","border:1px dashed #dddddd;text-align:center;width:50px;padding:5px;color:#007722;font-size:16px;padding:8px;"); tr.appendChild(th1); var th2 = document.createElement("th"); th2.innerHTML = "热度"; th2.setAttribute("style","border:1px dashed #dddddd;text-align:center;width:40px;padding:5px;color:#007722;font-size:16px;padding:8px;"); tr.appendChild(th2); var th3 = document.createElement("th"); th3.innerHTML = "文件大小"; th3.setAttribute("style","border:1px dashed #dddddd;text-align:center;width:70px;padding:5px;color:#007722;font-size:16px;padding:8px;"); tr.appendChild(th3); var th4 = document.createElement("th"); th4.innerHTML = "文 件 标 题"; //th4.setAttribute("style","text-align: center;"); th4.setAttribute("style","border:1px dashed #dddddd;text-align:center;padding:5px;color:#007722;font-size:16px;padding:8px;"); tr.appendChild(th4); // 添加表头行 thead.appendChild(tr); table.appendChild(thead); if(data.length){ data.forEach(function(item,index){ let tr = document.createElement("tr"); let td1 = document.createElement("td"); let magnet_img = document.createElement("img"); magnet_img.src="http://www.wcs123.com/static/img/magnet.png"; magnet_img.alt="磁力链接"; let copy_magnet = document.createElement("a"); td1.appendChild(magnet_img); copy_magnet.href = item.magnet; copy_magnet.innerText = "复制"; copy_magnet.title="单击此处复制磁力链接到剪贴板"; copy_magnet.onclick=function(event) { event.target.innerHTML = "成功"; GM_setClipboard(event.target.href); setTimeout(function () { event.target.innerHTML = "复制"; }, 1000); event.preventDefault(); //阻止跳转 }; td1.appendChild(copy_magnet); td1.setAttribute("class","pl"); td1.setAttribute("style","border:1px dashed #dddddd;text-align:center;width:50px;padding:8px;"); tr.appendChild(td1); let td2 = document.createElement("td"); td2.innerHTML = item.hot; td2.setAttribute("class","pl"); td2.setAttribute("style","border:1px dashed #dddddd;width:40px;padding:8px;"); tr.appendChild(td2); let td3 = document.createElement("td"); let open_url = document.createElement("a"); open_url.href = item.url; open_url.innerText = item.description; open_url.target="_blank"; open_url.title = "打开磁力链接结果网页"; td3.appendChild(open_url); //td3.innerHTML = item.description; td3.setAttribute("class","pl"); td3.setAttribute("style","border:1px dashed #dddddd;width:70px;padding:8px;"); tr.appendChild(td3); let td4 = document.createElement("td"); var p = document.createElement("a"); p.innerText = item.title.replace(/<(style|script|iframe)[^>]*?>[\s\S]+?<\/\1\s*>/gi,'').replace(/<[^>]+?>/g,'').replace(/\s+/g,' ').replace(/ /g,' ').replace(/>/g,' '); p.title = item.title; p.href=item.magnet; p.target="_blank"; td4.appendChild(p); td4.setAttribute("class","pl"); td4.setAttribute("style","border:1px dashed #dddddd;padding:8px;"); tr.appendChild(td4); tbody.appendChild(tr); }); table.appendChild(tbody); } else{ let tr_error = document.createElement("tr"); let td_error = document.createElement("td"); td_error.setAttribute("colspan","4"); td_error.setAttribute("style","border:1px dashed #dddddd;padding:12px;text-align:center;color:#dc3545;font-size:16px;font-weight:bold;"); td_error.innerText ="当前电影无可用磁力资源!"; tr_error.appendChild(td_error); tbody.appendChild(tr_error); table.appendChild(tbody); } return table; } GM.xmlHttpRequest({ method: "GET", url: "http://www.wcs123.com/s/"+key+"-hot-desc-1", // headers: { // "User-Agent": "Mozilla/5.0", // If not specified, navigator.userAgent will be used. // "Accept": "text/xml" // If not specified, browser defaults will be used. // }, onload: function(response) { // var responseXML = null; // Inject responseXML into existing Object (only appropriate for XML content). // if (!response.responseXML) { // responseXML = new DOMParser() // .parseFromString(response.responseText, "text/xml"); // } let result = parsetext(response.responseText); let mags = result.querySelectorAll("table.table tbody tr td.x-item"); data = make_data(mags); console.log(data); info.parentNode.insertBefore(create_table(data),info); } }); })();