Greasy Fork

豆瓣电影磁力链

在 https://movie.douban.com/subject/* 下面,可以给当前电影添加相应的磁力连接,方便下载。出现跨站提示时,请选择允许。

目前为 2018-05-24 提交的版本。查看 最新版本

// ==UserScript==
// @name         豆瓣电影磁力链
// @namespace    http://tampermonkey.net/
// @version      0.18.0524.2
// @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");
            //             }
            //console.log(response.responseText);
            //console.log("------------");

            let ms = parsetext(response.responseText);
            let megs = ms.querySelectorAll("table.table tbody tr td.x-item");
            //console.log(megs);
            var data=[];

            megs.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
                });
                //                 console.log( item.querySelector("h3").innerText);
                //                 console.log( item.querySelector("span>a").href);
                //                 console.log( item.querySelector("span:nth-child(5)>b").innerText);
                //                 console.log( item.querySelector("span:nth-child(6)").innerText);

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

            var th1 = document.createElement("th");
            th1.innerHTML = "磁力链";
            tr.appendChild(th1);
            var th2 = document.createElement("th");
            th2.innerHTML = "热度";
            th2.align="center";
            tr.appendChild(th2);
            var th3 = document.createElement("th");
            th3.innerHTML = "文件大小";
            th3.align="center";
            tr.appendChild(th3);
            var th4 = document.createElement("th");
            th4.innerHTML = "标题";
            th4.align="center";
            tr.appendChild(th4);
            tr.align="center";

            //表头
            thead.appendChild(tr);

            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);
                    tr.appendChild(td1);
                    var td2 = document.createElement("td");
                    td2.innerHTML = item.hot;
                    tr.appendChild(td2);
                    var td3 = document.createElement("td");
                    td3.innerHTML = item.description;
                    tr.appendChild(td3);
                    var td4 = document.createElement("td");
                    //td4.innerHTML = item.title;
                    var p = document.createElement("sapn");
                    p.innerText = item.title.slice(0,55);
                    p.title = item.title;
                    // p.href = item.url;
                    console.log(item.url);
                    td4.appendChild(p);

                    console.log(item.title.length);
                    tr.appendChild(td4);
                    tbody.appendChild(tr);
                    console.log(item);
                });

                table.appendChild(thead);
                table.appendChild(tbody);
                table.border="1";

                info.parentNode.insertBefore(table,info);
            }
            else{
                var errorinfo = document.createElement("p");
                errorinfo.innerText="当前电影无磁力资源!"
                info.parentNode.insertBefore(errorinfo,info);
            }
        }
    });

})();