// ==UserScript==
// @match https://movie.douban.com/subject/*
// @namespace Chang_way_enjoying
// @name 豆瓣电影C+|MyDoubanMovieHelper|豆瓣|豆瓣电影|douban.movie.com
// @resource https://coding.net/u/Changhw/p/MyDoubanMovieHelper/git/raw/master/title_overview_sprite.png
// @id [email protected]
// @version 01142017ATe
// @grant GM_xmlhttpRequest
// @grant GM_setClipboard
// @grant GM_addStyle
// @require https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js
// @author Chang
// @description 网站下直接显示下载链接,可通过多个站点获取。
// ==/UserScript==
/***
* Updated by Chang on 01/14/2017.
* QQ 3099891314
* contact me :)
*/
(function () {
var adblock_css = "";
adblock_css += "#dale_movie_subject_top_right,";
adblock_css += "#dale_movie_subject_top_right,";
adblock_css += "#dale_movie_subject_top_midle,";
adblock_css += "#dale_movie_subject_middle_right,";
adblock_css += "#dale_movie_subject_bottom_super_banner,";
adblock_css += "#footer,";
adblock_css += ".qrcode-app,";
adblock_css += ".top-nav-doubanapp,";
adblock_css += ".extra,";
adblock_css += "div.gray_ad,";
adblock_css += "p.pl,";
adblock_css += "div.ticket {";
adblock_css += "display: none;";
adblock_css += "}";
GM_addStyle(adblock_css);
})();
var aside_html = "";
aside_html += '<div class="c-aside">';
aside_html += '<h2><i class="">四字标题</i>· · · · · · </h2>';
aside_html += '<div class="c-aside-body">';
aside_html += '<ul class="bs">';
aside_html += '</ul>';
aside_html += '</div>';
aside_html += '</div>';
var aside_css = "";
aside_css += ".c-aside {";
aside_css += "margin-bottom: 30px;";
aside_css += "background: #F4F4EC;";
aside_css += "}";
aside_css += ".c-aside-body {";
aside_css += "*letter-spacing: normal;";
aside_css += "}";
aside_css += ".c-aside-body a {";
aside_css += "display: inline-block;";
aside_css += "*display: inline;";
aside_css += "letter-spacing: normal;";
aside_css += "padding: 0 8px;";
aside_css += "background-color: #f5f5f5;";
aside_css += "-webkit-border-radius: 2px;";
aside_css += "-moz-border-radius: 2px;";
aside_css += "border-radius: 2px;";
aside_css += "}";
aside_css += ".c-aside-body a:link,";
aside_css += ".c-aside-body a:visited {";
aside_css += "background-color: #f5f5f5;";
aside_css += "color: #37A;";
aside_css += "}";
aside_css += ".c-aside-body a:hover,";
aside_css += ".c-aside-body a:active {";
aside_css += "background-color: #e8e8e8;";
aside_css += "color: #37A;";
aside_css += "}";
aside_css += ".c-aside-body a.sites_r0 {";
aside_css += "text-decoration: line-through;";
aside_css += "}";
aside_css += ".c-aside-body ul a {";
aside_css += "margin-left: 6px;";
aside_css += "}";
aside_css += ".c-aside-body .bs .desc {";
aside_css += "left: 130px;";
aside_css += "position: absolute;";
aside_css += "color: #999;";
aside_css += "}";
GM_addStyle(aside_css);
var site_online = $(aside_html);
site_online.addClass("site-online");
site_online.find("div.c-aside-body").addClass("site-online-body");
site_online.find("h2 i").text("在线资源");
$("#content div.tags").before(site_online);
function site_online_add(link, title, text, desc) {
link = $("<a></a>").attr("href", link);
link.attr("class", "linkBtn");
link.attr("target", "_blank").attr("rel", "nofollow");
link.attr("title", title);
link.html(text);
link = $("<li></li>").append(link);
link.append($("<span></span>").attr("class", "desc").append($("<span></span>").html(desc)));
$("#content div.site-online-body ul").append(link);
}
var site_offline = $(aside_html);
site_offline.addClass("site-offline");
site_offline.find("div.c-aside-body").addClass("site-offline-body");
site_offline.find("h2 i").text("离线资源");
$("#content div.tags").before(site_offline);
function site_offline_add(link, title, text, desc) {
link = $("<a></a>").attr("href", link);
link.attr("class", "linkBtn");
link.attr("target", "_blank").attr("rel", "nofollow");
link.attr("title", title);
link.html(text);
link = $("<li></li>").append(link);
link.append($("<span></span>").attr("class", "desc").append($("<span></span>").html(desc)));
$("#content div.site-offline-body ul").append(link);
}
var title = title_sec = $("#content > h1 > span")[0].textContent.split(" ");
title = title.shift();
title_sec = title_sec.join(" ").trim().replace(/(\s)/g, "+");
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) {
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 () {
var imdb_html = "";
imdb_html += '<div class="rating_wrap clearbox rating_imdb" rel="v:rating" style="padding-top: 0;">';
imdb_html += '<div class="rating_logo">IMDB 评分</div>';
imdb_html += '<div class="rating_self clearfix" typeof="v:Rating">';
imdb_html += '<strong class="ll rating_num" property="v:average">0</strong>';
imdb_html += '<span property="v:best" content="10.0"></span>';
imdb_html += '<div class="rating_right ">';
imdb_html += '<div class="ll"></div>';
imdb_html += '<div class="rating_sum">';
imdb_html += '<a href="collections" class="rating_people"><span property="v:votes">0</span>人评价</a>';
imdb_html += '</div>';
imdb_html += '</div>';
imdb_html += '</div>';
imdb_html += '</div>';
var imdb_css = "";
imdb_css += "#interest_sectl .rating_imdb {";
imdb_css += "padding-bottom: 0;";
imdb_css += "border-bottom: 1px solid #eaeaea;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_wrap {";
imdb_css += "padding-top: 15px;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more {";
imdb_css += "position: relative;";
imdb_css += "padding: 15px 0;";
imdb_css += "border-top: 1px solid #eaeaea;";
imdb_css += "color: #9b9b9b;";
imdb_css += "margin: 0;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more a {";
imdb_css += "left: 80px;";
imdb_css += "position: absolute;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .titleOverviewSprite {";
imdb_css += "background: url('https://coding.net/u/Changhw/p/MyDoubanMovieHelper/git/raw/master/title_overview_sprite.png') no-repeat;";
imdb_css += "display: inline-block;";
imdb_css += "vertical-align: middle;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .popularityImageUp {";
imdb_css += "background-position: -14px -478px;";
imdb_css += "height: 8px;";
imdb_css += "width: 8px";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .popularityImageDown {";
imdb_css += "background-position: -34px -478px;";
imdb_css += "height: 8px;";
imdb_css += "width: 8px;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .popularityUpOrFlat {";
imdb_css += "color: #83C40B";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .popularityDown {";
imdb_css += "color: #930E02";
imdb_css += "}";
GM_addStyle(imdb_css);
imdb = $("div#info a[href^='http://www.imdb.com/title/tt']");
imdb_href = imdb.attr('href')
imdb_id = imdb.text();
if (imdb && imdb_id.startsWith('tt')) {
imdb_id = imdb_id.slice(2);
} else {
imdb_id = "";
}
getDoc(imdb_href, function (doc, url) {
var rating_douban = $("#interest_sectl .rating_wrap").addClass("rating_douban");
var rating_douban_ratingValue = $("#interest_sectl .rating_douban a.rating_people span[property^=v]").text();
rating_douban_ratingValue = (rating_douban_ratingValue + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
$("#interest_sectl .rating_douban a.rating_people span[property^=v]").text(rating_douban_ratingValue);
$("#interest_sectl").prepend($(imdb_html));
var rating_imdb = $("#interest_sectl .rating_imdb");
$("#interest_sectl .rating_imdb a.rating_people").attr("href", imdb_href + "/" + "ratings?ref_=tt_ov_rt");
var ratingValue = $('span[itemprop=ratingValue]', doc).text();
$("#interest_sectl .rating_imdb strong.rating_num").text(ratingValue);
var starValue = ratingValue / 2;
starValue = ((starValue % 1) > 0.5) ? Math.floor(starValue) + 0.5 : Math.floor(starValue);
starValue *= 10;
starValue = "bigstar" + starValue;
$("#interest_sectl .rating_imdb div.rating_right div.ll").addClass(starValue);
var ratingCount = $('span[itemprop=ratingCount]', doc).text();
$("#interest_sectl .rating_imdb a.rating_people span[property^=v]").text(ratingCount);
$("#interest_sectl").append($("<div></div>").addClass("rating_more"));
var rating_more = $("#interest_sectl .rating_more");
var titleReviewBarItem = $('div.titleReviewBarItem', doc);
var Metasocre = "";
for (var i = 0, n; (n = titleReviewBarItem[i]); i++) {
var t = $(n).text();
if (t.indexOf("Metascore") != -1) {
var Metascore = $(n).find("a[href^=criticreviews] span").text();
rating_more.html(rating_more.html() + "Metasocre" + $("<a></a>").attr("href", imdb_href + "/" + "criticreviews?ref_=tt_ov_rt").text(Metascore)[0].outerHTML + "<br>");
} else if (t.indexOf("Reviews") != -1) {
} else if (t.indexOf("Popularity") != -1) {
var Popularity = $(n).find("span.subText").html();
rating_more.html(rating_more.html() + "流行度 " + Popularity + "<br>");
}
}
});
})();
(function () {
if (title_sec) {
var kickass = "https://katcr.co/new/torrents-search.php?c69=1&c80=1&c79=1&c148=1&c149=1&c81=1&c78=1&c150=1&c71=1&c74=1&cat=0&incldead=0&freeleech=0&inclexternal=0&lang=0&search="
kickass += title_sec;
kickass = $("<a></a>").attr("href", kickass);
kickass.attr("target", "_blank").attr("rel", "nofollow");
kickass.attr("style", "margin-left: 6px; font-weight: bold;");
kickass.html("kickass");
$("div#info a[href^='http://www.imdb.com/title/tt']").after(kickass);
}
})();
(function () {
site_offline_add("http://www.lbldy.com/search/" + title, "lbldy.com", "龙部落", "lbldy.com");
site_offline_add("http://www.zimuku.net/search?q=" + title, "zimuku.net", "字幕库", "zimuku.net");
site_offline_add("http://www.zimuzu.tv/search/index?keyword=" + title, "zimuzu.tv", "字幕组", "zimuzu.tv");
site_online_add("http://www.acfun.cn/search/#query=" + title, "AcFun", "AcFun", 'AcFun');
site_online_add("http://search.bilibili.com/all?keyword=" + title, "Bilibili", "Bilibili", 'Bilibili');
site_online_add("http://www.soku.com/search_video/q_" + title, "Soku", "Soku", 'Soku');
})();
(function () {
if (title_sec) {
var thepiratebay = "http://thepiratebay.ee/s/?q=" + title_sec;
thepiratebay = $("<a></a>").attr("href", thepiratebay);
thepiratebay.attr("target", "_blank").attr("rel", "nofollow");
thepiratebay.attr("style", "margin-left: 6px; font-weight: bold;");
thepiratebay.html("thepiratebay");
$("div#info a[href^='http://www.imdb.com/title/tt']").after(thepiratebay);
}
})();