// ==UserScript== // @id heawercher@gmail.com // @name 豆瓣电影C+|MyDoubanMovieHelper|豆瓣|豆瓣电影|douban.movie.com // @namespace Chang_way_enjoying // @version 0.7.1_2016-07-20 // @description 在 movie.douban.com 网站下直接显示下载链接,可通过多个站点获取。 // @author c wt U r // @match https://movie.douban.com/subject/* // @connect mp4ba.com // @connect 4567.tv // @require https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js // @grant GM_xmlhttpRequest // @grant GM_setClipboard // @downloadURL none // ==/UserScript== /** * Updated by c wt U r on 2016/6/20. * QQ 3099891314 * */ function getDoc(url, callback) { GM_xmlhttpRequest({ method: 'GET', url: url, headers: { 'User-agent': window.navigator.userAgent, 'Content-type': null }, onload: function (responseDetail) { var doc = ''; if (responseDetail.status == 200) { // For Firefox, Chrome 30+ Supported doc = new DOMParser().parseFromString(responseDetail.responseText, 'text/html'); if (doc === undefined) { doc = document.implementation.createHTMLDocument(""); doc.querySelector('html').innerHTML = responseText; } } callback(doc, responseDetail.finalUrl); } }); } function postDoc(url, callback, data) { GM_xmlhttpRequest({ anonymous: true, method: 'POST', url: url, headers: { 'User-agent': window.navigator.userAgent, 'Content-type': 'application/x-www-form-urlencoded' }, data: data, onload: function (responseDetail) { callback(responseDetail.responseText, responseDetail.finalUrl); } }); } function ad() { var strCSS = ""; strCSS += "#dale_movie_subject_top_right,"; strCSS += "#dale_movie_subject_top_midle,"; strCSS += "#content div.qrcode-app,"; strCSS += "#content div.ticket"; strCSS += "{display:none}"; document.head.appendChild(document.createElement("style")).textContent = strCSS; } ad(); var movieTitle = $("#content > h1 > span")[0].textContent.split(" ")[0]; function imdb() { imdb = $("div#info a[href^='http://www.imdb.com/title/tt']"); imdbS = imdb.text(); if (imdbS && imdbS.startsWith('tt')) { imdbS = imdbS.slice(2); kickass(); } } function kickass() { var kickass = "https://kat.cr/"; kickass = $("kickass"); imdb.after(kickass); } imdb(); function sites() { var str = ""; str += ".sites {"; str += " margin-bottom:30px;"; str += " background: #F4F4EC;"; str += "}"; str += ".sites-body {"; str += " line-height:24px;"; str += " letter-spacing:-0.31em;"; str += " *letter-spacing:normal;"; str += "}"; str += ".sites-body a {"; str += " display:inline-block;"; str += " *display:inline;"; str += " letter-spacing:normal;"; str += " margin:0 8px 8px 0;"; str += " padding:0 8px;"; str += " background-color:#f5f5f5;"; str += " -webkit-border-radius:2px;"; str += " -moz-border-radius:2px;"; str += " border-radius:2px;"; str += "}"; str += ""; str += ".sites-body a:link,"; str += ".sites-body a:visited {"; str += " background-color:#f5f5f5;"; str += " color: #37A;"; str += "}"; str += ""; str += ".sites-body a:hover,"; str += ".sites-body a:active {"; str += " background-color: #e8e8e8;"; str += " color: #37A;"; str += "}"; document.head.appendChild(document.createElement("style")).textContent = str; // add the sites part str = ""; str += "
"; str += "

"; str += " 相关影视站点"; str += " · · · · · ·"; str += "

"; str += "
"; str += "
"; str += "
"; var sites = $(str); $("#content div.tags").before(sites); } sites(); function add_sitelink(link, title, text) { if (!text){ text = title } if (title) { // title += " (*)"; } else { return; } link = $("" + text + ""); $("#content div.sites-body").append(link); } add_sitelink("http://www.mp4ba.com/search.php?keyword=" + movieTitle, "MP4ba.com", "MP4吧"); add_sitelink("http://edmag.net/search-" + movieTitle + ".html", "EDMag.net", "EDMAG.NET"); add_sitelink("http://cili03.com/?topic_title3=" + movieTitle, "cili03.com", "CILI001"); add_sitelink("http://www.bttiantang.com/s.php?q=" + movieTitle, "bttiantang.com", "BT天堂"); add_sitelink("http://www.zimuku.net/search?q=" + movieTitle, "zimuku.net", "字幕库"); add_sitelink("http://www.zimuzu.tv/search/index?keyword=" + movieTitle, "zimuzu.tv", "字幕组"); function netdisk() { var str = ""; str += ".netdiskLinks {"; str += " margin-bottom:30px;"; str += " background: #F4F4EC;"; str += "}"; str += ".netdiskLinks-body {"; str += " line-height:24px;"; str += " letter-spacing:-0.31em;"; str += " *letter-spacing:normal;"; str += "}"; str += ".netdiskLinks-body a {"; str += " display:inline-block;"; str += " *display:inline;"; str += " letter-spacing:normal;"; str += " margin:0 8px 8px 0;"; str += " padding:0 8px;"; str += " background-color:#f5f5f5;"; str += " -webkit-border-radius:2px;"; str += " -moz-border-radius:2px;"; str += " border-radius:2px;"; str += "}"; str += ""; str += ".netdiskLinks-body a:link,"; str += ".netdiskLinks-body a:visited {"; str += " background-color:#f5f5f5;"; str += " color: #37A;"; str += "}"; str += ""; str += ".netdiskLinks-body a:hover,"; str += ".netdiskLinks-body a:active {"; str += " background-color: #e8e8e8;"; str += " color: #37A;"; str += "}"; document.head.appendChild(document.createElement("style")).textContent = str; // add the netdiskLinks part str = ""; str += "
"; str += "

"; str += " 网盘链接"; str += " · · · · · ·"; str += "

"; str += " "; str += "
"; var netdiskLinks = $(str); $("#content div.tags").before(netdiskLinks); } netdisk(); function add_netdisklink(link, title, text) { if (!title) { title = "百度网盘"; } if (!text) { text = "加密分享"; } link = $(""+ text +""); $("#content div.netdiskLinks-body").append(link); } add_netdisklink("http://www.wangpansou.cn/s.php?op=baipan&q=" + movieTitle, "wangpansou.cn", "网盘搜搜"); function parse_netdisklink(sdoc) { var re = /(pan.baidu.com\/s\/[a-zA-Z0-9]+)\s*.+\s*([0-9a-zA-Z]{4})/g; var m; while ((m = re.exec(sdoc)) !== null) { if (m.index === re.lastIndex) { re.lastIndex++; } var u = "http://" + m[1] + "#" + m[2]; add_netdisklink(u, ""); } } function site_mp4ba() { if (!movieTitle) { return; } var url = "http://www.mp4ba.com/search.php?keyword=" + movieTitle; getDoc(url, function (doc) { var urls = $("a[href^='show.php?hash=']", doc); // TODO show the number // mp4ba.count = urls.length; for (i = 0; i < urls.length; i++) { var url = "http://www.mp4ba.com/" + urls[i].getAttribute("href"); getDoc(url, function (doc, url) { parse_netdisklink(doc.body.outerText); tmp = doc.body.outerText }); } }); } site_mp4ba();