Greasy Fork

Greasy Fork is available in English.

豆瓣电影磁力链

在 https://movie.douban.com/subject/* 的下面,可以给当前电影添加相应的磁力连接,方便下载。

当前为 2018-05-25 提交的版本,查看 最新版本

// ==UserScript==
// @name         豆瓣电影磁力链
// @namespace    http://tampermonkey.net/
// @version      0.18.0525.5
// @description  在 https://movie.douban.com/subject/* 的下面,可以给当前电影添加相应的磁力连接,方便下载。
// @author       anntiza
// @match        https://movie.douban.com/subject/*
// @connect      *
// @run-at       document-idle
// @grant        GM.xmlHttpRequest

// ==/UserScript==

(function() {
    'use strict';
    // 电影的标题
    let title = document.querySelector("#content h1 span");
    // 取中文名
    let key = title.innerText.split(" ")[0];
    // console.log(key);

    var info = document.querySelector("#interest_sect_level");
    // console.log(info);


    function parsetext(text) {
        var doc = null;
        try {
            doc = document.implementation.createHTMLDocument("");
            doc.documentElement.innerHTML = text;
            return doc;
        }
        catch (e) {
            //  alert("parse error");
        }
    }

    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 ms = parsetext(response.responseText);
            let mags = ms.querySelectorAll("table.table tbody tr td.x-item");
            //console.log(mags);

            var data=[];
            mags.forEach(function(item,index){
                data.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]
                });
            });

            // 创建显示结果的表格
            var table = document.createElement("table");
            var thead = table.createTHead();
            var tbody = table.createTBody();

            table.setAttribute("class","olt");
            //table.setAttribute("style","text-align:center;");

            var tr = document.createElement("tr");
            var th1 = document.createElement("th");
            var magnetTitle = document.createElement("strong");
            magnetTitle.innerText="磁力链";
            //th1.innerHTML = "磁力链";
            th1.appendChild(magnetTitle);
            th1.setAttribute("style","border:1px dashed #dddddd;text-align:center;height:35px;width:50px;padding:5px;color:#007722;font-size:16px;");
            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;");
            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;");
            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;");
            tr.appendChild(th4);

            // 添加表头
            thead.appendChild(tr);
            table.appendChild(thead);

            if(data.length){
                data.forEach(function(item,index){
                    var tr = document.createElement("tr");
                    var td1 = document.createElement("td");
                    var a = document.createElement("a");
                    a.href = item.magnet;
                    a.innerText = "磁力链";
                    td1.appendChild(a);
                    td1.setAttribute("class","pl");
                    td1.setAttribute("style","border:1px dashed #dddddd;text-align:center;width:50px;padding:5px;");
                    tr.appendChild(td1);
                    var td2 = document.createElement("td");
                    td2.innerHTML = item.hot;
                    td2.setAttribute("class","pl");
                    td2.setAttribute("style","border:1px dashed #dddddd;width:40px;padding:5px;");
                    tr.appendChild(td2);
                    var td3 = document.createElement("td");
                    td3.innerHTML = item.description;
                    td3.setAttribute("class","pl");
                    td3.setAttribute("style","border:1px dashed #dddddd;width:70px;padding:5px;");
                    tr.appendChild(td3);
                    var td4 = document.createElement("td");
                    var p = document.createElement("sapn");
                    p.innerText = item.title;
                    p.title = item.title;
                    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{
                var trerror = document.createElement("tr");
                var tderror = document.createElement("td");
                tderror.setAttribute("colspan","4");
                tderror.innerText ="当前电影无可用磁力资源!";
                tderror.setAttribute("style","border:1px dashed #dddddd;padding:12px;text-align:center;color:#dc3545;font-size:16px;font-weight:bold;");
                trerror.appendChild(tderror);
                tbody.appendChild(trerror);
                table.appendChild(tbody);
            }
            info.parentNode.insertBefore(table,info);
        }
    });

})();