// ==UserScript==
// @id [email protected]
// @name 豆瓣电影助手|douban movie helper
// @description 【重新定义豆瓣脚本,东半球最好的豆瓣电影增强脚本】10秒搞定豆瓣电影资源下载|新增豆列搜索功能|电影黑名单:屏蔽你不想看的烂片|PT资源搜索链接|更多评分|字幕搜索|支持影人作品集批量搜索|增加查看原图链接|增加IMDB top 250标签|一键生成简介|在changhw版本基础上修改,增加pt站搜索,去除垃圾视频站。|感谢R酱、白鸽男孩| 自用脚本,代码粗糙,欢迎捉虫。
// @author Exhen
// @connect *
// @grant GM_xmlhttpRequest
// @grant GM_setClipboard
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_listValues
// @require http://cdn.bootcss.com/jquery/3.2.1/jquery.min.js
// @require https://cdn.bootcss.com/jqueryui/1.12.1/jquery-ui.min.js
// @resource icon_off https://raw.githubusercontent.com/Exhen/douban-movie-helper/master/off.png
// @resource icon_on https://raw.githubusercontent.com/Exhen/douban-movie-helper/master/on.png
// @include https://movie.douban.com/
// @match https://movie.douban.com/*
// @exclude https://*/follows_comments
// @version 2018052701
// @run-at document-start
// @namespace exhen_js
// ==/UserScript==
var myScriptStyle = document.createElement("style");
myScriptStyle.innerHTML = "@charset utf-8;#dale_movie_subject_top_right,#dale_movie_subject_top_right,#dale_movie_subject_top_midle,#dale_movie_subject_middle_right,#dale_movie_subject_bottom_super_banner,#footer,#dale_movie_subject_download_middle,#dale_movie_subject_inner_middle,#movie_home_left_bottom,#dale_movie_home_top_right,#dale_movie_home_side_top,#dale_movie_home_bottom_right,#dale_movie_home_inner_bottom,#dale_movie_home_download_bottom,#dale_movie_home_bottom_right_down,#dale_movie_towhome_explore_right,#dale_movie_chart_top_right,#dale_movie_tags_top_right,#dale_review_best_top_right,.mobile-app-entrance.block5.app-movie,.qrcode-app,.top-nav-doubanapp,.extra,div.gray_ad,p.pl,div.ticket{display:none}.c-aside{margin-bottom:30px}.c-aside-body{*letter-spacing:normal}.c-aside-body a{border-radius:6px;color:#37A;display:inline-block;letter-spacing:normal;margin:0 8px 8px 0;padding:0 8px;text-align:center;width:65px}.c-aside-body a:link,.c-aside-body a:visited{background-color:#f5f5f5;color:#37A}.c-aside-body a:hover,.c-aside-body a:active{background-color:#e8e8e8;color:#37A}.c-aside-body a.disabled{text-decoration:line-through}.c-aside-body a.available{background-color:#5ccccc;color:#006363}.c-aside-body a.available:hover,.c-aside-body a.available:active{background-color:#3cc}.c-aside-body a.sites_r0{text-decoration:line-through}#c_dialog li{margin:10px}#c_dialog{text-align:center}#interest_sectl .rating_imdb{border-bottom:1px solid #eaeaea;padding-bottom:0}#interest_sectl .rating_wrap{padding-top:15px}#interest_sectl .rating_more{border-bottom:1px solid #eaeaea;color:#9b9b9b;margin:0;padding:15px 0;position:relative}#interest_sectl .rating_more a{left:80px;position:absolute}#interest_sectl .rating_more .titleOverviewSprite{background:url(https://coding.net/u/Changhw/p/MyDoubanMovieHelper/git/raw/master/title_overview_sprite.png) no-repeat;display:inline-block;vertical-align:middle}#interest_sectl .rating_more .popularityImageUp{background-position:-14px -478px;height:8px;width:8px}#interest_sectl .rating_more .popularityImageDown{background-position:-34px -478px;height:8px;width:8px}#interest_sectl .rating_more .popularityUpOrFlat{color:#83C40B}#interest_sectl .rating_more .popularityDown{color:#930E02}/*!jQuery UI - v1.12.1 - 2016-09-14 * http://jqueryui.com * Includes:core.css,accordion.css,autocomplete.css,menu.css,button.css,controlgroup.css,checkboxradio.css,datepicker.css,dialog.css,draggable.css,resizable.css,progressbar.css,selectable.css,selectmenu.css,slider.css,sortable.css,spinner.css,tabs.css,tooltip.css,theme.css * To view and modify this theme,visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6 * Copyright jQuery Foundation and other contributors;Licensed MIT */ .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{border:0;font-size:100%;line-height:1.3;list-style:none;margin:0;outline:0;padding:0;text-decoration:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{border-collapse:collapse;content:'';display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default !important;pointer-events:none}.ui-icon{background-repeat:no-repeat;display:inline-block;margin-top:-.25em;overflow:hidden;position:relative;text-indent:-99999px;vertical-align:middle}.ui-widget-icon-block{display:block;left:50%;margin-left:-8px}.ui-widget-overlay{height:100%;left:0;position:fixed;top:0;width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;display:block;font-size:100%;margin:2px 0 0 0;padding:.5em .5em .5em .7em;position:relative}.ui-accordion .ui-accordion-content{border-top:0;overflow:auto;padding:1em 2.2em}.ui-autocomplete{cursor:default;left:0;position:absolute;top:0}.ui-menu{display:block;list-style:none;margin:0;outline:0;padding:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{cursor:pointer;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);margin:0}.ui-menu .ui-menu-item-wrapper{padding:3px 1em 3px .4em;position:relative}.ui-menu .ui-menu-divider{border-width:1px 0 0 0;font-size:0;height:0;line-height:0;margin:5px 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{bottom:0;left:.2em;margin:auto 0;position:absolute;top:0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{cursor:pointer;display:inline-block;line-height:normal;margin-right:.1em;overflow:visible;padding:.4em 1em;position:relative;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{box-sizing:border-box;text-indent:-9999px;white-space:nowrap;width:2em}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-button.ui-icon-notext .ui-icon{height:2.1em;padding:0;text-indent:-9999px;white-space:nowrap;width:2.1em}input.ui-button.ui-icon-notext .ui-icon{height:auto;padding:.4em 1em;text-indent:0;white-space:normal;width:auto}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{display:inline-block;vertical-align:middle}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item:focus,.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;margin-bottom:0;margin-top:0;text-align:left;width:100%}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc(100% - 2.4em)}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{border:0;border-radius:.12em;box-shadow:inset 1px 1px 1px #ccc}.ui-checkboxradio-radio-label .ui-icon-background{border:0;border-radius:1em;height:16px;overflow:visible;width:16px}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;border-style:solid;border-width:4px;height:8px;width:8px}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{display:none;padding:.2em .2em 0;width:17em}.ui-datepicker .ui-datepicker-header{padding:.2em 0;position:relative}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{height:1.8em;position:absolute;top:2px;width:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-datepicker .ui-datepicker-title{line-height:1.8em;margin:0 2.3em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{border-collapse:collapse;font-size:.9em;margin:0 0 .4em;width:100%}.ui-datepicker th{border:0;font-weight:bold;padding:.7em .3em;text-align:center}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;border-bottom:0;border-left:0;border-right:0;margin:.7em 0 0 0;padding:0 .2em}.ui-datepicker .ui-datepicker-buttonpane button{cursor:pointer;float:right;margin:.5em .2em .4em;overflow:visible;padding:.2em .6em .3em .6em;width:auto}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{margin:0 auto .4em;width:95%}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;font-size:0;width:100%}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{left:auto;right:2px}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{left:auto;right:1px}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:1px;border-right-width:0}.ui-datepicker .ui-icon{background-repeat:no-repeat;display:block;left:.5em;overflow:hidden;text-indent:-99999px;top:.3em}.ui-dialog{left:0;outline:0;padding:.2em;position:absolute;top:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;overflow:hidden;white-space:nowrap;width:90%;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{height:20px;margin:-10px 0 0 0;padding:1px;position:absolute;right:.3em;top:50%;width:20px}.ui-dialog .ui-dialog-content{background:none;border:0;overflow:auto;padding:.5em 1em;position:relative}.ui-dialog .ui-dialog-buttonpane{background-image:none;border-width:1px 0 0 0;margin-top:.5em;padding:.3em 1em .5em .4em;text-align:left}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{cursor:pointer;margin:.5em .4em .5em 0}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{right:0;width:2px}.ui-dialog .ui-resizable-s{bottom:0;height:2px}.ui-dialog .ui-resizable-w{left:0;width:2px}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{height:7px;width:7px}.ui-dialog .ui-resizable-se{bottom:0;right:0}.ui-dialog .ui-resizable-sw{bottom:0;left:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{display:block;font-size:.1px;position:absolute;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;left:0;top:-5px;width:100%}.ui-resizable-s{bottom:-5px;cursor:s-resize;height:7px;left:0;width:100%}.ui-resizable-e{cursor:e-resize;height:100%;right:-5px;top:0;width:7px}.ui-resizable-w{cursor:w-resize;height:100%;left:-5px;top:0;width:7px}.ui-resizable-se{bottom:1px;cursor:se-resize;height:12px;right:1px;width:12px}.ui-resizable-sw{bottom:-5px;cursor:sw-resize;height:9px;left:-5px;width:9px}.ui-resizable-nw{cursor:nw-resize;height:9px;left:-5px;top:-5px;width:9px}.ui-resizable-ne{cursor:ne-resize;height:9px;right:-5px;top:-5px;width:9px}.ui-progressbar{height:2em;overflow:hidden;text-align:left}.ui-progressbar .ui-progressbar-value{height:100%;margin:-1px}.ui-progressbar .ui-progressbar-overlay{background:url(data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==);height:100%;opacity:.25;filter:alpha(opacity=25)}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{border:1px dotted black;position:absolute;z-index:100}.ui-selectmenu-menu{display:none;left:0;margin:0;padding:0;position:absolute;top:0}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{border:0;font-size:1em;font-weight:bold;height:auto;line-height:1.5;margin:.5em 0 0 0;padding:2px .4em}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{cursor:default;height:1.2em;position:absolute;width:1.2em;z-index:2;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{background-position:0 0;border:0;display:block;font-size:.7em;position:absolute;z-index:1}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{margin-left:-.6em;top:-.3em}.ui-slider-horizontal .ui-slider-range{height:100%;top:0}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{height:100px;width:.8em}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-bottom:-.6em;margin-left:0}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{display:inline-block;overflow:hidden;padding:0;position:relative;vertical-align:middle}.ui-spinner-input{background:none;border:0;color:inherit;margin:.2em 0;margin-left:.4em;margin-right:2em;padding:.222em 0;vertical-align:middle}.ui-spinner-button{cursor:default;display:block;font-size:.5em;height:50%;margin:0;overflow:hidden;padding:0;position:absolute;right:0;text-align:center;width:1.6em}.ui-spinner a.ui-spinner-button{border-bottom-style:none;border-right-style:none;border-top-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{padding:.2em;position:relative}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{border-bottom-width:0;float:left;list-style:none;margin:1px .2em 0 0;padding:0;position:relative;top:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{background:none;border-width:0;display:block;padding:1em 1.4em}.ui-tooltip{max-width:300px;padding:8px;position:absolute;z-index:9999}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{background:#fff;border:1px solid #ddd;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{background:#e9e9e9;border:1px solid #ddd;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{background:#f6f6f6;border:1px solid #c5c5c5;color:#454545;font-weight:normal}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{background:#ededed;border:1px solid #ccc;color:#2b2b2b;font-weight:normal}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px #5e9ed6}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{background:#007fff;border:1px solid #003eff;color:#fff;font-weight:normal}.ui-icon-background,.ui-state-active .ui-icon-background{background-color:#fff;border:#003eff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#fffa90;border:1px solid #dad55e;color:#777620}.ui-state-checked{background:#fffa90;border:1px solid #dad55e}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{background:#fddfdf;border:1px solid #f1a899;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{font-weight:normal;opacity:.7;filter:Alpha(Opacity=70)}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{background-image:none;opacity:.35;filter:Alpha(Opacity=35)}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{height:16px;width:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(https://cdn.bootcss.com/jqueryui/1.12.1/images/ui-icons_444444_256x240.png)}.ui-widget-header .ui-icon{background-image:url(https://cdn.bootcss.com/jqueryui/1.12.1/images/ui-icons_444444_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url(https://cdn.bootcss.com/jqueryui/1.12.1/images/ui-icons_555555_256x240.png)}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url(https://cdn.bootcss.com/jqueryui/1.12.1/images/ui-icons_ffffff_256x240.png)}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url(https://cdn.bootcss.com/jqueryui/1.12.1/images/ui-icons_777620_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(https://cdn.bootcss.com/jqueryui/1.12.1/images/ui-icons_cc0000_256x240.png)}.ui-button .ui-icon{background-image:url(https://cdn.bootcss.com/jqueryui/1.12.1/images/ui-icons_777777_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.003;filter:Alpha(Opacity=.3)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}";
document.getElementsByTagName("head")[0].appendChild(myScriptStyle);
var aside_html = '<div class=c-aside > <h2><i class="">四字标题</i>· · · · · · </h2> <div class=c-aside-body style="padding: 0 12px;"> <ul class=bs > </ul> </div> </div>';
var imdb_html = '<div class="rating_wrap clearbox rating_imdb" rel="v:rating" style="padding-top: 0;"> <div class=rating_logo >IMDB 评分</div> <div class="rating_self clearfix" typeof="v:Rating"> <strong class="ll rating_num" property="v:average">0</strong> <span property="v:best" content=10.0 ></span> <div class="rating_right "> <div class=ll ></div> <div class=rating_sum > <a href=collections class=rating_people ><span property="v:votes">0</span>人评价</a> </div> </div> </div> </div>';
var sites_list = {
"ptsite": {
"name": "PT资源",
"sites": {
"ADC": {
"imdb": "http://asiandvdclub.org/browse.php?descr=1&btnSubmit=Search%21&search=tt",
"title": "http://asiandvdclub.org/browse.php?descr=1&btnSubmit=Search%21&search=",
"selector": "table.torrenttable:last > tbody > tr"
},
"AHD": {
"imdb": "https://awesome-hd.me/torrents.php?searchstr=tt",
"title": "https://awesome-hd.me/torrents.php?searchstr=",
"selector": "table.torrent_table:last > tbody > tr:gt(0)"
},
"BTSchool": {
"imdb": "http://pt.btschool.net/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "http://pt.btschool.net/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"BYRBT": {
"imdb": "https://bt.byr.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://bt.byr.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"CCFBits": {
"imdb": "http://www.ccfbits.org/browse.php?fullsearch=1¬newword=1&search=",
"title": "http://www.ccfbits.org/browse.php?fullsearch=1¬newword=1&search=",
"selector": "table.mainouter > tbody > tr:last > td > table:nth-child(10) > tbody > tr:gt(0)"
},
"CHDBits": {
"imdb": "https://chdbits.co/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://chdbits.co/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"CMCT": {
"imdb": "https://hdcmct.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://hdcmct.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"GZTown": {
"imdb": "https://pt.gztown.net/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://pt.gztown.net/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"HD4FANS": {
"imdb": "https://pt.hd4fans.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://pt.hd4fans.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"HDBits": {
"imdb": "https://hdbits.org/browse.php?&imdb=tt",
"title": "https://hdbits.org/browse.php?&search=",
"selector": "table#torrent-list:last > tbody > tr:gt(0)"
},
"HDChina": {
"imdb": "https://hdchina.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://hdchina.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search=",
"selector": "table.torrent_list:last > tbody > tr:gt(0)"
},
"HDCity": {
"imdb": "https://hdcity.city/pt?incldead=0&search_area=1¬newword=1&iwannaseethis=",
"title": "https://hdcity.city/pt?incldead=0¬newword=1&iwannaseethis=",
"selector": "center > div > div > div.text"
},
"HDHome": {
"imdb": "https://hdhome.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://hdhome.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"HDSky": {
"imdb": "https://hdsky.me/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://hdsky.me/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"HDSpace": {
"imdb": "https://hd-space.org/index.php?page=torrents&active=0&options=2&search=",
"title": "https://hd-space.org/index.php?page=torrents&active=0&search=",
"selector": "table.lista:last > tbody > tr:gt(0)"
},
"HDStreet": {
"imdb": "https://hdstreet.club/index.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://hdstreet.club/index.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"HDT": {
"imdb": "https://hd-torrents.org/torrents.php?active=0&options=2&search=",
"title": "https://hd-torrents.org/torrents.php?active=0&search=",
"selector": "table.mainblockcontenttt:last > tbody > tr:gt(2)"
},
"HDTime": {
"imdb": "https://hdtime.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://hdtime.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"HDU": {
"imdb": "http://pt.upxin.net/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "http://pt.upxin.net/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"HUDBT": {
"imdb": "https://hudbt.hust.edu.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "http://hudbt.hust.edu.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"Hyperay": {
"imdb": "https://hyperay.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "http://hyperay.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search=",
"selector": "table.torrents > tbody > tr.nonstick_outer_bg"
},
"IPT": {
"imdb": "https://iptorrents.com/t?q=tt",
"title": "https://iptorrents.com/t?q=",
"selector": "#torrents td.ac"
},
"JoyHD": {
"imdb": "https://www.joyhd.net/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "http://www.joyhd.net/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"KeepFrds": {
"imdb": "https://pt.keepfrds.com/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://pt.keepfrds.com/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"KG": {
"imdb": "https://karagarga.in/browse.php?search_type=imdb&search=",
"selector": "table#browse:last > tbody > tr:gt(0)"
},
"MTeam": {
"imdb": "https://tp.m-team.cc/movie.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://tp.m-team.cc/movie.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"NPUPT": {
"imdb": "https://npupt.com/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&sort=10&imdb=tt",
"title": "https://npupt.com/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&sort=10&search=",
"selector": "#torrents_table > tbody > tr:gt(0)"
},
"NWSUAF": {
"imdb": "https://pt.nwsuaf6.edu.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://pt.nwsuaf6.edu.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"NYPT": {
"imdb": "https://nanyangpt.com/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://nanyangpt.com/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search=",
"selector": "table.torrents:last > tbody > tr"
},
"Ourbits": {
"imdb": "https://ourbits.club/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://ourbits.club/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"OurDiSC": {
"title": "http://bt.ourdisc.net/browse.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"selector": "table[width='100%'][border='0'][cellspacing='0'][cellpadding='10'] i"
},
"PlayPT": {
"imdb": "http://pt.playpt123.org/play.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "http://pt.playpt123.org/play.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"PTP": {
"imdb": "https://passthepopcorn.me/torrents.php?searchstr=tt",
"title": "https://passthepopcorn.me/torrents.php?searchstr=",
"selector": "table.torrent_table:last > tbody > tr:gt(0)"
},
"SC": {
"imdb": "https://secret-cinema.pw/torrents.php?cataloguenumber=tt",
"title": "https://secret-cinema.pw/torrents.php?groupname=",
"selector": "div.torrent_card"
},
"SJTU": {
"imdb": "https://pt.sjtu.edu.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://pt.sjtu.edu.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search=",
"selector": "table.torrents:last > tbody > tr"
},
"SS": {
"title": "https://skyeysnow.com/forum.php?mod=torrents¬newword=1&search=",
"selector": "table.torrents > tbody > tr:gt(0)"
},
"TCCF": {
"imdb": "http://et8.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://et8.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"Tik": {
"imdb": "https://www.cinematik.net/browse.php?incldead=0&sort=1&type=asc&srchdtls=1&search=tt",
"selector": "table[cellpadding]:last > tbody > tr:gt(0)"
},
"TLFBits": {
"imdb": "http://pt.eastgame.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "http://pt.eastgame.org/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"TorViet": {
"imdb": "http://torviet.com/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "http://torviet.com/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search="
},
"TTG": {
"title": "https://totheglory.im/browse.php?c=M¬newword=1&search_field=",
"selector": "table#torrent_table:last > tbody > tr:gt(0)"
},
"U2": {
"title": "https://u2.dmhy.org/torrents.php?incldead=1&search_area=0¬newword=1&search="
},
"WHUPT": {
"imdb": "https://pt.whu.edu.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=2&search=",
"title": "https://pt.whu.edu.cn/torrents.php?&incldead=0&spstate=0&inclbookmarked=0&search_area=0&search_mode=0&search=",
"selector": "table.torrents:last > tbody > tr"
},
"ZX": {
"title": "http://pt.zhixing.bjtu.edu.cn/search/x",
"selector": "table.torrenttable > tbody > tr:gt(1)"
},
"UHD": {
"imdb": "https://uhdbits.org/torrents.php?searchstr=tt",
"title": "https://uhdbits.org/torrents.php?searchstr=",
"selector": "table.torrent_table:last > tbody > tr:gt(0)"
}
}
},
"subsite": {
"name": "字幕资源",
"sites": {
"字幕库": {
"title": "http://www.zimuku.cn/search?q=",
"selector": "div.box.clearfix div.item.prel.clearfix"
},
"字幕天堂": {
"title": "http://www.zimuku.cn/search?q=",
"selector": "div.box.clearfix div.item.prel.clearfix"
},
"字幕组": {
"title": "http://www.zimuzu.tv/search/index?type=subtitle&keyword=",
"selector": ".search-result li"
},
"sub HD": {
"title": "http://subhd.com/search/",
"selector": "div.col-md-9 div.box"
},
"伪射手": {
"title": "http://assrt.net/sub/?searchword=",
"selector": "div.body div.subitem"
},
"163字幕": {
"title": "http://www.163sub.com/Search?id=",
"selector": "#main_narrow_bd div.subs_list"
},
"电波字幕": {
"title": "http://dbfansub.com/?s=",
"selector": "div.panel-body article.panel.panel-default.archive"
},
"字幕社": {
"title": "https://www.zimushe.com/search.php?keywords=",
"selector": "div.wrap-l li"
},
"中文字幕网": {
"title": "http://www.zimuzimu.com/so_zimu.php?title=",
"selector": "table.sublist a.othersub"
},
"r3sub": {
"title": "https://r3sub.com/search.php?s=",
"selector": "div.col-sm-8.col-md-9.col-lg-8 div.movie.movie--preview.ddd"
},
"HDZIMU": {
"title": "http://www.hdzimu.com/?s=",
"selector": "div.post-warp div.post-box"
},
"M1080": {
"title": "http://zimu.m1080.com/search.asp?a=&s=",
"selector": "table td"
},
"OpenSub": {
"title": "https://www.opensubtitles.org/zh/search/sublanguageid-chi,zht,zhe,eng/imdbid-",
"selector": "#search_results tr.change"
},
"Addic7ed": {
"title": "http://www.addic7ed.com/search.php?search=",
"selector": "table.tabel tr"
},
"Podnapisi": {
"title": "https://www.podnapisi.net/zh/subtitles/search/?language=zh&language=en&keywords=",
"selector": "table tr.subtitle-entry"
},
"Subscene": {
"title": "https://subscene.com/subtitles/release?r=true&q=",
"selector": "table td.a1"
},
"TVsubs": {
"title": "http://tvsubs.net/search.php?q=",
"selector": "div.cont li"
},
"TVsubtitles": {
"title": "http://www.tvsubtitles.net/search.php?q=",
"selector": "div.left_articles li"
},
"YIFY": {
"title": "http://www.yifysubtitles.com/search?q=",
"selector": "div.col-sm-12 div.col-xs-12"
}
}
},
"offlinesite": {
"name": "公网资源",
"sites": {
"52 Movie": {
"title": "http://www.52movieba.com/search.htm?keyword=",
"selector": "table.table.table-hover.threadlist tr.thread.tap"
},
"97电影网": {
"title": "http://www.id97.com/search?q=",
"selector": "div.container div.col-xs-7"
},
"爱下电影网": {
"title": "http://www.aixia.cc/plus/search.php?searchtype=titlekeyword&q=",
"selector": "div.con li"
},
"比特大雄": {
"title": "https://www.btdx8.com/?s=",
"selector": "#content div.post.clearfix"
},
"比特影视": {
"title": "https://www.bteye.com/search/",
"selector": "#main div.item"
},
"电影巴士": {
"title": "http://www.dy8c.com/?s=",
"selector": "#content div.post-box"
},
"电影首发站": {
"title": "http://www.dysfz.cc/key/",
"selector": ".movie-list li"
},
"嘎嘎影视": {
"title": "http://www.gagays.xyz/movie/search?req%5Bkw%5D=",
"selector": "#movie-sub-cont-db div.large-movie-detail"
},
"高清MP4": {
"title": "http://www.99tvs.com/?s=",
"selector": "#post_container li"
},
"高清电台": {
"title": "https://gaoqing.fm/s.php?q=",
"selector": "#result1 div.row"
},
"高清控": {
"title": "http://www.gaoqingkong.com/?s=",
"selector": "#post_container div.post_hover"
},
"蓝光网": {
"title": "http://www.languang.co/?s=",
"selector": "div.mi_cont li"
},
"迷你MP4": {
"title": "http://www.minimp4.com/search?q=",
"selector": "div.container div.col-xs-7"
},
"胖鸟电影": {
"title": "http://www.pniao.com/Mov/so/",
"selector": "div.mainContainer div.movieFlag.eachOne"
},
"人生05": {
"title": "http://www.rs05.com/search.php?s=",
"selector": "#movielist li"
},
"云播网": {
"title": "http://www.yunbowang.cn/index.php?m=vod-search&wd=",
"selector": "div.container div.col-xs-7"
},
"中国高清网": {
"title": "http://gaoqing.la/?s=",
"selector": "div.mainleft div.post_hover"
},
"最新影视站": {
"title": "http://www.zxysz.com/?s=",
"selector": "#content li.p-item"
},
"人人影视": {
"title": "http://www.zimuzu.tv/search?type=resource&keyword=",
"selector": "div.search-result > ul > li"
},
"人人美剧": {
"title": "http://www.yyetss.com/Search/index/s_keys/",
"selector": "div.row div.col-xs-3"
},
"天天美剧": {
"title": "http://www.ttmeiju.vip/index.php/search/index.html?keyword=",
"selector": "table.latesttable tr.Scontent1"
},
"爱美剧": {
"title": "https://22v.net/search/",
"selector": "div.movie span"
},
"天天看美剧": {
"title": "http://www.msj1.com/?s=",
"selector": "div.cat_list div.art_show_top"
},
"美剧粉": {
"title": "http://www.itvfans.com/?s=",
"selector": "#main-wrap-left div.home-blog-entry-text"
},
"BT吧": {
"title": "http://www.btba.com.cn/search?keyword=",
"selector": "div.left li"
},
"BT蚂蚁": {
"title": "https://www.btmyi.com/search.html?kw=",
"selector": "div.row h5.item-title"
},
"BT天堂": {
"title": "http://www.bttt.la/s.php?q=",
"selector": "div.ml div.title"
},
"BT之家": {
"title": "http://www.btbtt.co/search-index-keyword-",
"selector": "#threadlist table"
},
"RARBT": {
"title": "http://www.rarbt.com/index.php/search/index.html?search=",
"selector": "div.ml div.title"
},
"查片源": {
"title": "https://www.chapianyuan.com/?keyword=",
"selector": "div.block li"
},
"磁力猫": {
"title": "http://www.cilimao.me/search?word=",
"selector": "#Search__content_left___2MajJ div.MovieCard__content___3kv1W"
},
"磁力站": {
"title": "http://oabt004.com/index/index?c=&k=",
"selector": "div.link-list-wrapper ul.link-list"
},
"光影资源": {
"title": "http://www.etdown.net/index.php?keyword=",
"selector": "tbody.list_4 tr"
},
"我爱P2P": {
"title": "http://www.woaip2p.net/topic/list?categoryId=0&title=",
"selector": "tbody td.word-break"
},
"小浣熊下载": {
"title": "https://www.xiaohx.org/search?key=",
"selector": "div.search_right li"
},
"一站搜": {
"title": "http://v.yizhansou.com/search?kw=",
"selector": "table td.st"
},
"1337X": {
"title": "https://1337x.to/search/",
"selector": "table.table-list.table.table-responsive.table-striped td.coll-1.name"
},
"BT-Scene": {
"title": "https://bt-scene.cc/results_.php?q=",
"selector": "table.tor td.tname"
},
"iDope": {
"title": "https://idope.se/torrent-list/",
"selector": "#div2child div.resultdiv"
},
"ISOHunt": {
"title": "https://isohunt2.net/torrent/?ihq=",
"selector": "#serps td.title-row"
},
"KickAss": {
"title": "https://katcr.co/katsearch/page/1/",
"selector": "div.table--responsive_vertical div.torrents_table__torrent_name"
},
"Lime": {
"title": "https://www.limetorrents.cc/search/all/",
"selector": "table.table2 div.tt-name"
},
"RARBG": {
"title": "http://rarbg.is/torrents.php?search=",
"selector": "table.lista2t tr.lista2"
},
"WorldWide": {
"title": "https://worldwidetorrents.me/torrents-search.php?search=",
"selector": "div.w3-responsive td.w3-jose"
},
"Zooqle": {
"title": "https://zooqle.com/search?q=",
"selector": "div.panel-body a.small"
},
"海盗湾": {
"title": "https://thepiratebay.org/search/",
"selector": "#searchResult div.detName"
}
}
}
}
if (!document.getElementById("seBwhA") && "页面不存在" !== document.title) {
var seBwhA = document.createElement("a");
seBwhA.id = "seBwhA";
document.getElementsByTagName("html")[0].appendChild(seBwhA);
var reservedValues = 'bl|flag_bl';
function sleep(milliSeconds) {
var startTime = new Date().getTime(); // get the current time
while (new Date().getTime() < startTime + milliSeconds);
}
var getDoc, getJSON, parseURL, postDoc;
getDoc = function (url, meta, callback) {
GM_xmlhttpRequest({
method: 'GET',
url: url,
headers: {
'User-agent': window.navigator.userAgent,
'Content-type': null
},
onload: function (responseDetail) {
var doc;
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, meta);
}
});
};
postDoc = function (url, data, meta, callback) {
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, meta);
}
});
};
getJSON = function (url, callback) {
GM_xmlhttpRequest({
method: 'GET',
url: url,
headers: {
'Accept': 'application/json'
},
onload: function (response) {
if (response.status >= 200 && response.status < 400) {
callback(JSON.parse(response.responseText), url);
} else {
callback(false, url);
}
}
});
};
parseURL = function (url) {
var a;
a = document.createElement('a');
a.href = url;
return {
source: url,
protocol: a.protocol.replace(':', ''),
host: a.hostname,
port: a.port,
query: a.search,
params: (function () {
var i, len, ret, s, seg;
ret = {};
seg = a.search.replace(/^\?/, '').split('&');
len = seg.length;
i = 0;
s = void 0;
while (i < len) {
if (!seg[i]) {
i++;
continue;
}
s = seg[i].split('=');
ret[s[0]] = s[1];
i++;
}
return ret;
})(),
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
hash: a.hash.replace('#', ''),
path: a.pathname.replace(/^([^\/])/, '/$1'),
relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
segments: a.pathname.replace(/^\//, '').split('/')
};
};
var update_site = function (group, site, link_prefix, keyword, enable_search, selector) {
// check if this site is enabled by user
var enable_site = GM_getValue(site, 'none');
if (enable_site == 'none') {
enable_site = 1;
GM_setValue(site, enable_site);
}
if (!enable_site) return;
function Get_Search_Page(site, link_prefix, parser_func) {
//console.log("Start Searching in Site " + site + " ."+link_prefix );
GM_xmlhttpRequest({
method: 'GET',
url: link_prefix,
onload: function (res) {
//console.log(res.finalUrl);
if (/((login|action|verify|returnto)[.=]|\/login$)/.test(res.finalUrl)) {
//console.log("May Not Login in Site " + site + ". With finalUrl: " + res.finalUrl);
}
else if (/refresh: \d+; url=.+login.+/.test(res.responseHeaders)) {
} else {
let responseText = res.responseText;
// if (label.name==="AT") {//console.log(label.name);//console.log(res.finalUrl);//console.log(res.responseHeaders);//console.log(res.responseText);}
if (typeof responseText === "undefined") {
} else if (responseText.length < 800 && /login/.test(responseText)) {
}
else {
//console.log("Get Search Pages Success in Site " + site + ".");
var doc = (new DOMParser()).parseFromString(res.responseText, 'text/html');
var body = doc.querySelector("body");
var page = $(body); // 构造 jQuery 对象
try {
//console.log('trying', site);
parser_func(res, doc, body, page);
//console.log("End of Search in Site " + site + ".");
} catch (error) {
//console.log("An error occurred when parser in Site " + site + ". With Error information: " + error + ". Please opening a issues to report at https://github.com/Rhilip/PT-help/issues/2");
}
}
}
},
onerror: function (res) {
//console.log("An error occurred when searching in Site " + site + " .With finalUrl: " + res.finalUrl + ". Your computer may not be able to access this site.");
}
});
}
if ($('#content div.' + group + '-body ul a.' + site).attr('stat') == 'true') return;
// add this site to the right column
var url = parseURL(link_prefix + keyword);
//console.log('url', url);
var link = $('<a></a>');
link.addClass(site);
link.attr('href', url.source);
link.attr('data-host', url.host);
link.attr('target', '_blank').attr('rel', 'nofollow');
link.html(site);
if ($('#content div.' + group + '-body ul a.' + site).attr('class') == site) {
//console.log(site, ' alreay exist')
if (!enable_search) return;
//console.log('stat=', $('#content div.' + group + '-body ul a.' + site).attr('stat'));
if ($('#content div.' + group + '-body ul a.' + site).attr('stat') == 'true') return;
}
else {
$('#content div.' + group + '-body ul').append(link);
//console.log('append first time');
}
if (enable_search) {
Get_Search_Page(site, url.source, function (res, doc, body, page) {
// //console.log("loading info from", url);
var url_prefix = /pt\.whu\.edu\.cn|whupt\.net|hudbt\.hust\.edu\.cn/.test(res.finalUrl) ? "" : (res.finalUrl.match(/(https?:\/\/[^\/]+?\/).+/) || ['', ''])[1];
//console.log("Using The normal parser for NexusPHP in Site: " + site);
var result;
if (/(没有种子|No Torrents Found|Your search did not match anything|No torrents here|Make sure all names are spelled correctly|用准确的关键字重试)/.test(res.responseText)) {
//console.log("No any torrent find in Site " + site + ".");
result = false;
} else {
var tr_list = page.find(selector || "table.torrents:last > tbody > tr:gt(0)");
//console.log("Get " + tr_list.length + " records in Site " + site + ".");
if (tr_list.length) {
result = true;
//console.log('search result',tr_list.length);
}
else {
result = false;
}
}
//console.log(result, url);
if (result) {
if ($('#content div.' + group + '-body ul a.' + site).attr('stat') == 'true') return;
$('#content div.' + group + '-body ul a.' + site).css("background-color", "#e3f1ed");
$('#content div.' + group + '-body ul a.' + site).attr('stat', 'true').attr('href', url.source);
//console.log('result true');
}
else {
if ($('#content div.' + group + '-body ul a.' + site).attr('stat') == 'true') return;
$('#content div.' + group + '-body ul a.' + site).css("background-color", "#f4eac2");
$('#content div.' + group + '-body ul a.' + site).attr('stat', 'none');
//console.log(site, 'result false');
}
});
}
}
var update_group = function (group, group_title) {
if ($('div.' + group + '-body').length) return;
var site_pt = $(aside_html);
site_pt.addClass(group);
site_pt.find('div.c-aside-body').addClass(group + '-body');
site_pt.find('h2 i').text(group_title);
$('#content div.tags').before(site_pt);
}
var update_batch = function () {
// config pt batch link
site_pt_batch = $(aside_html);
site_pt_batch.addClass('name-offline');
site_pt_batch.find('div.c-aside-body').addClass('site-pt-batch');
site_pt_batch.find('h2 i').text('PT批量打开');
$('#content div.tags').before(site_pt_batch);
$('#interest_sectl').after($('div.grid-16-8 div.related-info'));
$('#interest_sectl').attr('style', 'float:right');
$('div.related-info').attr('style', 'width:480px;float:left');
var ptlink_all, ptlink_true, ptlink_none;
ptlink_all = $('<a>全 部</a>').attr('class', 'ptlink_all');
ptlink_all.css("background-color", "#f5f5f5");
ptlink_true = $('<a>有资源</a>').attr('class', 'ptlink_true');
ptlink_true.css("background-color", "#e3f1ed");
ptlink_none = $('<a>无资源</a>').attr('class', 'ptlink_none');
ptlink_none.css("background-color", "#f4eac2");
ptlink_all.click(function () {
$('.ptsite-body a[href]').each(function () {
window.open($(this).attr('href'))
});
});
ptlink_true.click(function () {
$('.ptsite-body a[stat="true"]').each(function () {
window.open($(this).attr('href'))
});
});
ptlink_none.click(function () {
$('.ptsite-body a[stat="none"]').each(function () {
window.open($(this).attr('href'))
});
});
$('#content div.site-pt-batch ul').prepend(ptlink_none);
$('#content div.site-pt-batch ul').prepend(ptlink_true);
$('#content div.site-pt-batch ul').prepend(ptlink_all);
}
if (location.href.startsWith('https://movie.douban.com/subject/')) {
$(document).ready(function () {
// chage plot summary style
$('#interest_sectl').after($('div.grid-16-8 div.related-info'));
$('#interest_sectl').attr('style', 'float:right');
$('div.related-info').attr('style', 'width:480px;float:left');
// gen text info
// due to the slow connection with imdb.com, only show the info button after IMDB info is ready
var movieinfo = $("<a>movieinfo</a>").css('color', '#37a');
var infobox = $(aside_html);
infobox.find('h2 i').text('电影简介');
infobox.addClass("movieinfo");
infobox.attr('style', 'float:left;width:470px;margin-top:20px');
movieinfo.click(function () {
//////译名,片名///////
var title, title_en, title_sec;
title = title_en = $('#content > h1 > span')[0].textContent.split(' ');
title = title.shift();
title_en = title_en.join(' ').trim();
var temp;
temp = $('div.article #info').contents().filter(function () {
return (this.nodeType === 3) && ($(this).prev().text() == "又名:");
}).text();
if (temp) {
temp = temp.split(' / ');
temp = temp.filter(function (x) {
var rname = /[\u4E00-\u9FA5]/;
if (rname.test(x)) {
//alert("含汉字!");
return true;
}
else {
//alert("不含汉字!");
return false;
}
});
//alert(temp !== "");
if (!(temp == "")) {
temp = temp.join(' / ').trim();
temp = ' / ' + temp;
}
}
if (title_en) {
infobox.append('◎译 名 ' + title + temp + '</br>');
infobox.append('◎片 名 ' + title_en + '</br>');
}
else {
infobox.append('◎片 名 ' + title + temp + '</br>');
}
// var movieinfo = $("<span></span>");
//////////////◎年 代/////////////////
infobox.append('◎年 代 ' + $('#content > h1 > span.year').text().substr(1, 4) + '</br>');
//////////////◎产 地/////////////////
infobox.append('◎产 地 ' + $('div.article #info').contents().filter(function () {
return (this.nodeType === 3) && ($(this).prev().text() == "制片国家/地区:");
}).text().trim() + '</br>');
//////////////◎类 别/////////////////
var temp = $("<div></div>");
temp.append($('div.article #info span[property="v:genre"]').clone());
// //temp.find("span").
temp.find('span').each(function () {
$(this).append('<div> / </div>');
});
temp.find("div:last").remove();
// $('div.article #info').append(temp.text());
infobox.append('◎类 别 ' + temp.text() + '<br>');
//////////////◎语 言/////////////////
infobox.append('◎语 言 ' + $('div.article #info').contents().filter(function () {
return (this.nodeType === 3) && ($(this).prev().text() == "语言:");
}).text().trim() + '</br>');
//////////////◎上映日期/////////////////
infobox.append('◎上映日期 ' + $('div.article #info [property="v:initialReleaseDate"]').text() + '</br>');
//////////////◎IMDb评分/////////////////
infobox.append('◎IMDb评分 ' + $('div#info a:last').attr('imdb_rating') + '/10 from ' + $('.rating_imdb a.rating_people').text() + '</br>');
//////////////◎IMDb链接/////////////////
infobox.append('◎IMDb链接 ' + $('div#info a[href^=\'http://www.imdb.com/title/tt\']').attr('href') + '</br>');
//////////////◎豆瓣评分/////////////////
infobox.append('◎豆瓣评分 ' + $('.rating_douban strong.ll').text() + '/10 from ' + $('.rating_douban a.rating_people').text() + '</br>');
//////////////◎豆瓣链接/////////////////
temp = $('#mainpic p.gact a').attr('href');
temp = temp.substring(0, temp.length - 5);
infobox.append('◎豆瓣链接 ' + temp + '</br>');
//////////////◎片 长/////////////////
infobox.append('◎片 长 ' + $('div.article #info').contents().filter(function () {
return ($(this).prev().attr('property') == "v:runtime") || ($(this).prev().text() == "片长:");
}).text().trim() + '</br>');
//////////////◎导 演/////////////////
infobox.append('◎导 演 ' + $('div.article #info span.attrs:first').text() + '</br>');
//////////////◎主 演/////////////////
infobox.append('◎主 演 ' + $('div.article #info span.actor span.attrs').contents().filter(function () {
return $(this).attr("class") !== "more-actor";
}).text() + '</br>');
//////////////◎简 介/////////////////
infobox.append('<p>◎简 介</p><p>' + $('div.article div.related-info [property="v:summary"]').html() + '</p>');
//////////////◎获奖情况/////////////////
if ($('ul').hasClass("award")) {
var temp = $('<div></div>');
$('ul.award').each(function () {
temp.append($(this).text() + '</br>');
});
// $('div.article div.related-info').before(temp);
infobox.append('<p>◎获奖情况</p>' + temp.html() + '</br>');
}
movieinfo.hide();
$('div.article div.related-info').before(infobox);
})
// get IMDB info
var imdb, imdb_href, imdb_id;
imdb = $('div#info a[href^=\'http://www.imdb.com/title/tt\']');
if (imdb.length) {
imdb_href = imdb.attr('href');
imdb_id = imdb.text();
if (imdb && imdb_id.startsWith('tt')) {
imdb_id = imdb_id.slice(2);
} else {
imdb_id = '';
}
}
// get title
var title_cn, title_sec;
title_cn = title_sec = $('#content > h1 > span')[0].textContent.split(' ');
title_cn = title_cn.shift();
for (group in sites_list) {
var flag_group = GM_getValue(group, "none");
if (flag_group == "none") {
flag_group = 1;
GM_setValue(group, flag_group);
}
if (!flag_group) continue;
if (group == 'ptsite') update_batch();
update_group(group, sites_list[group].name);
var flag_group_auto = GM_getValue(group + '_auto', "none");
if (flag_group_auto == "none") {
flag_group_auto = 1;
GM_setValue(group + '_auto', flag_group_auto);
}
for (site in sites_list[group].sites) {
if (imdb.length && sites_list[group].sites[site].imdb) {
update_site(group, site, sites_list[group].sites[site].imdb, imdb_id, flag_group_auto, sites_list[group].sites[site].selector);
}
}
}
if (imdb.length) {
// imdb_id has been got from the page, generate all IMDB search links in PT part
getDoc(imdb_href, null, function (doc, resp, meta) {
var i, item, len, metascore, parse, popularity, ratingCount, ratingValue, rating_douban, rating_douban_ratingValue, rating_imdb, rating_more, reviews, starValue, titleReviewBarItem, title_en;
title_en = $(doc).attr('title');
title_en = title_en.split(' (')[0];
for (group in sites_list) {
var flag_group = GM_getValue(group, "none");
if (flag_group == "none") {
flag_group = 1;
GM_setValue(group, flag_group);
}
if (!flag_group) continue;
update_group(group, sites_list[group].name);
var flag_group_auto = GM_getValue(group + '_auto', "none");
if (flag_group_auto == "none") {
flag_group_auto = 1;
GM_setValue(group + '_auto', flag_group_auto);
}
for (site in sites_list[group].sites) {
if (sites_list[group].sites[site].title) {
update_site(group, site, sites_list[group].sites[site].title, title_en, flag_group_auto, sites_list[group].sites[site].selector);
update_site(group, site, sites_list[group].sites[site].title, title_cn, flag_group_auto, sites_list[group].sites[site].selector);
}
}
}
rating_douban = $('#interest_sectl .rating_wrap').addClass('rating_douban');
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);
rating_imdb = $('#interest_sectl .rating_imdb');
$('#interest_sectl .rating_imdb a.rating_people').attr('href', imdb_href + '/' + 'ratings?ref_=tt_ov_rt');
ratingValue = $('span[itemprop=ratingValue]', doc).text();
// add IMDB top 250 tag
if (ratingValue >= 8) {
getDoc('https://m.imdb.com/chart/top', meta, function (doc, res, meta) {
var list = res.responseText.match(/data-tconst="(tt\d{7})"/g);
//console.log(list);
var number = list.indexOf('data-tconst="tt' + imdb_id + '"') + 1;
if (number < 1 || number > 250) return;
// inject css if needed
if (document.getElementsByClassName('top250').length === 0) {
var style = document.createElement('style');
style.innerHTML = '.top250{background:url(https://s.doubanio.com/f/movie/f8a7b5e23d00edee6b42c6424989ce6683aa2fff/pics/movie/top250_bg.png) no-repeat;width:150px;font:12px Helvetica,Arial,sans-serif;margin:5px 0;color:#744900}.top250 span{display:inline-block;text-align:center;height:18px;line-height:18px}.top250 a,.top250 a:link,.top250 a:hover,.top250 a:active,.top250 a:visited{color:#744900;text-decoration:none;background:none}.top250-no{width:34%}.top250-link{width:66%}';
document.head.appendChild(style);
}
var after = document.getElementById('dale_movie_subject_top_icon');
if (!after)
after = document.querySelector('h1');
after.insertAdjacentHTML('beforebegin', '<div class="top250"><span class="top250-no">No.' + number + '</span><span class="top250-link"><a href="http://www.imdb.com/chart/top">IMDb Top 250</a></span></div>');
[].forEach.call(document.getElementsByClassName('top250'), function (e) {
e.style.display = 'inline-block';
});
});
}
var flag_infogen = GM_getValue('infogen');
if (flag_infogen) {
movieinfo.attr('imdb_rating', ratingValue);
$('div.article #info').append('<span class="pl">生成信息: </span>').append(movieinfo);
}
// put on more ratings
var flag_morerating = GM_getValue('morerating');
if (flag_morerating) {
$('#interest_sectl').append($(imdb_html));
$('#interest_sectl .rating_imdb strong.rating_num').text(ratingValue);
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);
ratingCount = $('span[itemprop=ratingCount]', doc).text();
$('#interest_sectl .rating_imdb a.rating_people span[property^=v]').text(ratingCount);
rating_imdb.after($('<div></div>').addClass('rating_more'));
rating_more = $('#interest_sectl .rating_more');
titleReviewBarItem = $('.titleReviewBar div.titleReviewBarItem', doc);
metascore = null;
popularity = null;
reviews = null;
parse = function (item) {
var Popularity, score, text;
text = $(item).text();
if (text.indexOf('Metascore') !== -1) {
score = $(item).find('a[href^=criticreviews] span').text();
metascore = $("<div>");
metascore.html('Metascore');
return metascore.append($('<a></a>').attr('href', imdb_href + '/' + 'criticreviews?ref_=tt_ov_rt').text(score));
} else if (text.indexOf('Popularity') !== -1) {
popularity = $("<div>");
Popularity = $(item).find('span.subText').html();
return popularity.html('流行度 ' + Popularity + '<br>');
} else if (text.indexOf('Reviews') !== -1) {
return null;
}
};
for (i = 0, len = titleReviewBarItem.length; i < len; i++) {
item = titleReviewBarItem[i];
parse(item);
}
if (metascore || popularity || reviews) {
if (metascore) {
rating_more.append(metascore);
}
if (popularity) {
rating_more.append(popularity);
}
if (reviews) {
rating_more.append(reviews);
}
} else {
rating_more.remove();
}
}
return null;
});
}
else {
for (group in sites_list) {
var flag_group = GM_getValue(group, "none");
if (flag_group == "none") {
flag_group = 1;
GM_setValue(group, flag_group);
}
if (!flag_group) continue;
update_group(group, sites_list[group].name);
var flag_group_auto = GM_getValue(group + '_auto', "none");
if (flag_group_auto == "none") {
flag_group_auto = 1;
GM_setValue(group + '_auto', flag_group_auto);
}
for (site in sites_list[group].sites) {
if (sites_list[group].sites[site].title) {
update_site(group, site, sites_list[group].sites[site].title, title_cn, flag_group_auto, sites_list[group].sites[site].selector);
}
}
}
}
// add link to BIG poster
var flag_poster = GM_getValue('poster');
if (flag_poster) {
var posterAnchor = $('#mainpic img');
if (posterAnchor.attr('src')) {
// get the posters page's URL via movie.douban.com's customs
let url = window.location.href;
var douban_id = url.split('/')[4];
var postersUrl = 'https://movie.douban.com/subject/' + douban_id + '/photos?type=R';
getDoc(postersUrl, null, function (doc, res, meta) {
var aPosterUrl = $('.article > ul > li:nth-child(1) > div.cover > a', doc).attr('href');
getDoc(aPosterUrl, null, function (doc2, res, meta) {
var hdPosterAnchor = $('span.magnifier > a', doc2);
$('#mainpic p.gact').after(hdPosterAnchor);
})
})
}
}
});
}
// movie blacklist on '/explore' and '/tag'
var flag_blacklist = GM_getValue('blacklist');
if (flag_blacklist) {
if (location.href.startsWith('https://movie.douban.com/explore') | location.href.startsWith('https://movie.douban.com/tag/')) {
$(document).ready(function () {
// append add_blacklist button on posters
$('div.list-wp').on('mouseover', 'a.item', function () {
if ($(this).prev().is('.bl_cover')) {
$(this).prev().show();
$(this).prev().css({ "left": ($(this).offset().left + 85), "top": ($(this).offset().top) });
return;
}
var douban_id = $(this).attr('href').split('/')[4];
var title = $(this).find('img').attr('alt');
var posterid = $(this).find('img').attr('src').split('/')[7].replace('.jpg', '');
// //console.log('title=' + title);
// //console.log('posterid=' + posterid);
$(this).before('<div class="bl_cover" style="display:block;position:absolute;z-index:99;"><a><div style="background:#52a4d7d6;height:20px;width:30px;text-align:center;color:white">屏蔽</div><a></div>');
$(this).prev().attr('title', '屏蔽' + douban_id).css({ "left": ($(this).offset().left + 85), "top": ($(this).offset().top) });
$(this).prev().click(function () {
GM_setValue('bl', GM_getValue('bl', '') + '$' + douban_id);
GM_setValue(douban_id, title + '$' + posterid);
$(this).hide();
blacklist();
});
$(this).prev().mouseover(function () {
$(this).show();
});
$(this).prev().mouseout(function () {
$(this).hide();
});
});
$('div.list-wp').on('mouseout', 'a.item', function () {
$(this).prev().hide();
});
// blacklist filter function
var blacklist = function () {
// only do this function when Ajax finished, otherwise may cause in endless loop;
if (/载入中/.test($('a.more').text())) return;
else {
var bl_list = GM_getValue('bl', '').split('$');
if (!bl_list.length) return;
for (var i = 1; i < bl_list.length; i++) {
var reg = '"' + bl_list[i] + '"';
$('a.item').filter(function () { return RegExp(reg).test($(this).html()) }).hide();
}
if ($('a.item').length < 30) {
$('.list-wp a.more').text('载入中');
$('.list-wp a.more').wrap('<p class="more"></p>');
$('.list-wp p.more').click();
}
}
}
// when something has changed in .list-wp, do blacklist()
$('div.article .list-wp').bind('DOMNodeInserted', function () {
blacklist();
});
// when .deatil-pop shows up, append add_blocklist_button to it
$('div.detail-pop').bind('DOMNodeInserted', function () {
if ($('div.detail-pop .add_blocklist').length) return;
var douban_id = $('div.detail-pop .info h3 a').first().attr('href').split('/')[4];
var add_blocklist_button = $('<a class="add_blocklist">屏蔽' + douban_id + '</a>');
add_blocklist_button.click(
function () {
GM_setValue('bl', GM_getValue('bl', '') + '$' + douban_id);
var title = $('div.detail-pop .info h3 a').text();
var posterid = $('a.item').filter(function () { return RegExp('"' + douban_id + '"').test($(this).html()) }).find('img').first().attr('src').split('/')[7].replace('.jpg', '');
GM_setValue(douban_id, title + '$' + posterid);
// //console.log('title=' + title);
// //console.log('posterid=' + posterid);
blacklist();
});
$('div.detail-pop .collect-area').append(add_blocklist_button);
})
blacklist();
})
}
}
$(document).ready(function () {
// add blacklist nav-tag and page
var flag_blacklist = GM_getValue('blacklist');
if (flag_blacklist) {
var bl_nav = $('<a style="color:#27a">黑名单</a>');
bl_nav.mouseover(function () {
$(this).css('color', 'white');
})
bl_nav.mouseout(function () {
$(this).css('color', '#27a');
})
var update_bl = function (i) {
var bl_list = GM_getValue('bl', '').split('$');
if (!bl_list.length || i >= bl_list.length) {
$('.article h2').first().text('电影黑名单 · · · · · ·');
return;
}
$('.article h2').first().text('电影黑名单 · · · · · ·正在列出第' + i + '/' + (bl_list.length - 1) + '项');
var current_id = bl_list[i];
if (RegExp('/' + current_id + '/').test($('.article .indent').html())) { update_bl(++i); return; }
var title, posterid;
function append_movie(title, posterid) {
var block_html = $('<table width="100%" class=""><tbody><tr class="item"><td width="100" valign="top"><a class="nbg" href="https://movie.douban.com/subject/' + bl_list[i] + '/" title="' + title + '"><img src="https://img3.doubanio.com/view/photo/s_ratio_poster/public/' + posterid + '" width="75" alt="' + title + '" class=""></a></td><td valign="top"><div class="pl2"><a href="https://movie.douban.com/subject/' + bl_list[i] + '/" class="">' + title + '</a></div></td></tr></tbody></table><p class="ul"></p>');
var remove_blocklist_button = $('<a class="j remove_blocklist" style="display: inline-block; zoom: 1; margin-right: 5px; border: 1px solid #bbb; padding: 2px 14px 1px; border-radius: 2px; color: #111;">解除屏蔽' + current_id + '</a>');
remove_blocklist_button.click(function () {
GM_setValue('bl', GM_getValue('bl', '').replace('$' + current_id, ''));
$('.article .indent div').first().empty().append('<p class="ul first"></p>');
update_bl(1);
});
var refresh_blocklist_button = $('<a class="j remove_blocklist" style="display: inline-block; zoom: 1; margin-right: 5px; border: 1px solid #bbb; padding: 2px 14px 1px; border-radius: 2px; color: #111;">刷新信息' + current_id + '</a>');
refresh_blocklist_button.click(function () {
getJSON('http://api.douban.com/v2/movie/' + current_id, function (temp, url) {
if (!temp) {
alert('get info error, aborting!');
return;
}
var current_id = url.split('/')[5];
var title = temp.attrs.language == '汉语普通话' ? temp.title : temp.alt_title.split('/')[0] + ' ' + temp.title.split('/')[0];
title = title + ' (' + temp.attrs.year + ')';
var posterid = temp.image.split('/')[7].replace('.webp', '');
GM_setValue(current_id, title + '$' + posterid);
append_movie(title, posterid);
// //console.log('get info from api.douban.com title=' + title + ' and posterid=' + posterid);
$('.article .indent div').first().empty().append('<p class="ul first"></p>');
update_bl(1);
});
});
block_html.find('div.pl2').append('<p></p>').append(remove_blocklist_button).append(refresh_blocklist_button);
$('.article .indent div').first().append(block_html);
}
var value_temp = GM_getValue(bl_list[i], '');
if (value_temp !== '') {
var title = value_temp.split('$')[0];
var posterid = value_temp.split('$')[1];
append_movie(title, posterid);
update_bl(++i);
}
else {
getJSON('http://api.douban.com/v2/movie/' + bl_list[i], function (temp, url) {
if (!temp) {
alert('get info error, aborting!');
return;
}
var current_id = url.split('/')[5];
var title = temp.attrs.country == '中国大陆' ? temp.title : temp.alt_title.split('/')[0] + ' ' + temp.title.split('/')[0];
title = title + ' (' + temp.attrs.year + ')';
var posterid = temp.image.split('/')[7].replace('.webp', '');
GM_setValue(current_id, title + '$' + posterid);
append_movie(title, posterid);
// speed control. The ratio limit of douban api is 100/hour.
sleep(1600);
update_bl(++i);
});
}
//console.log(GM_listValues());
}
bl_nav.click(function () {
$('div#wrapper').empty();
$('div#wrapper').append('<div id="content"><h1>豆瓣电影黑名单</h1><div class="grid-16-8 clearfix"><div class="article"><h2>电影黑名单 · · · · · · </h2><div class="indent"><div class=""><p class="ul first"></p></div></div></div><div class="aside"><div><h2>黑名单说明 · · · · · ·</h2><p>黑名单功能是为了屏蔽掉一些不想在找电影时看到但又不想标记已看的片子,加入黑名单后影片将不会在<a href="https://movie.douban.com/explore" style="color:#27a">选电影</a>和<a href="https://movie.douban.com/tag" style="color:#27a">分类选片</a>页面中出现。</p><p>在选电影界面的detail-pop元素和海报右上角(将鼠标移动到影片海报上就会弹出)增加了“屏蔽该影片”按钮,点击即可一键加入黑名单。</p></div><div><h2>管理功能说明 · · · · · ·</h2><p>清空黑名单:把所有影片移出黑名单。</p><p>清理缓存(慎用!):重新获取黑名单中影片信息。当发现本页面中的影片信息显示不正确时,可以用这个功能强制刷新。由于douban api有每小时100次的限制,当黑名单列表过长时,此功能会出现问题。</p><p>导出黑名单:由于黑名单只能作用于本地,当多台设备想要同步黑名单时,目前只能利用手动导出导入实现。</p><p>导入黑名单:导入你想屏蔽的影片列表,注意格式。</p></div><div><h2>黑名单管理 · · · · · ·</h2><div class="types"><span><a class="bl_clear" style="color:#27a">清空黑名单</a></br><a class="cache_clear" style="color:#27a">清理缓存(慎用!)</a></br><a class="bl_export" style="color:#27a">导出黑名单</a></br><a class="bl_import" style="color:#27a">导入黑名单</a></span></div></div></div></div></div>');
$('div#wrapper .types a.bl_clear').click(function () {
GM_setValue('bl', '');
$('.article .indent').first().empty();
})
$('div#wrapper .types a.cache_clear').click(function () {
var value_temp = GM_listValues();
for (var x = 0; x < value_temp.length; x++) {
if (RegExp(reservedValues).test(value_temp[x])) continue;
GM_deleteValue(value_temp[x]);
}
$('.article .indent').first().empty().append('<div><p class="ul first"></p></div>');
update_bl(1);
})
$('div#wrapper .types a.bl_export').click(function () {
$('.article h2').first().text('导出黑名单 · · · · · ·');
$('.article .indent').first().empty().append('<textarea class="bl_input" style="width:100%;height:350px">');
$('.article .indent .bl_input').text(GM_getValue('bl'));
})
$('div#wrapper .types a.bl_import').click(function () {
$('.article h2').first().text('导入黑名单 · · · · · ·');
$('.article .indent').first().empty().append('<textarea class="bl_input" placeholder="请注意导入格式为“$”+“豆瓣序号”,例如肖申克的救赎为$1292052,多个序号间无空格空行。" style="width:100%;height:350px"></textarea><button class="bl_input_submit" style="padding:0 12px;">提交</button>');
$('.article .indent .bl_input_submit').click(function () {
GM_setValue('bl', $('.article .indent .bl_input')[0].value);
$('.article .indent').first().empty().append('<div><p class="ul first"></p></div>');
$('.article h2').first().text('电影黑名单 · · · · · ·');
update_bl(1);
});
})
update_bl(1);
})
$('div.nav-items ul').append('<li></li>');
$('div.nav-items ul li').last().append(bl_nav);
}
var flag_artist = GM_getValue('artist');
if (flag_artist) {
var artist_nav = $('<a style="color:#27a">影人资源</a>');
artist_nav.mouseover(function () {
$(this).css('color', 'white');
})
artist_nav.mouseout(function () {
$(this).css('color', '#27a');
})
artist_nav.click(function () {
$('div#wrapper').empty();
$('div#wrapper').append('<div id="content"><h1>导演资源搜索</h1><div class="grid-16-8 clearfix"><div class="article"><div class="indent"><div class="movie-list"></div></div></div><div class="aside"><div><h2>导演检索 · · · · · ·</h2><div><span><p><form id="form-artist"><input class="artist" id="input-artist" placeholder="诺兰, nm0634240, ..." value="" /input><input type="button" id="artist-submit" value="search" /input></form></p></span><span style="" class="search_result c-aside-body"></span></div></div><div class="artist_intro"><h2>导演资源说明 · · · · · ·</h2><p>影人资源可以列出某导演的全部执导作品并加以搜索。</p><p>此功能可以弥补一些站点没有“Artist”“Collection”的缺憾。</p></div><div><h2>使用帮助 · · · · · ·</h2><p>输入导演名称,点击搜索。在搜索结果中点击你想搜的导演即可。</p><p>由于【某些原因】,导演作品列表采取IMDB数据库中的信息。若和豆瓣影人信息有出入,请谅解。</p><p>目前仅支持导演作品,如需按演员搜索功能,请email:[email protected]请求开发。</p></div></div></div></div>');
$('#artist-submit').click(function () {
var artist = document.getElementById("input-artist").value;
//console.log(artist);
$('span.search_result').empty();
$('.c-aside').remove();
getDoc('https://cn.bing.com/search?q=site%3Awww.imdb.com%2Fname%2F+' + artist, null, function (doc, res, meta) {
var id_list = [];
$('#b_results .b_algo a', doc).each(function () {
var id = $(this).attr('href').split('/')[4];
if (!id) return;
if (!id.startsWith('nm')) return;
if ($.inArray(id, id_list) >= 0) return;
id_list.push(id);
})
if (id_list.length == 0) {
$('span.search_result').append('没有找到相关导演');
}
$.each(id_list, function (i, id) {
//console.log(id);
getDoc('https://cn.bing.com/search?q=site%3Amovie.douban.com%2Fcelebrity%2F+' + id, null, function (doc2, res, meta) {
var name = $('#b_results .b_algo a', doc2).first().text().replace(/(\(豆瓣\)|\s-\s豆瓣电影)/, '');
var link = $('<a style="background-color: rgb(245, 245, 245);"></a>');
link.attr('id', id);
link.attr('name', name);
link.html(name);
link.click(function () {
$('span.search_result').empty();
$('div.movie-list').empty().append('<p class="ul first"></p>');
var id = $(this).attr('id');
var name = $(this).attr('name');
$('div.movie-list').prepend('<h2>' + name + '导演作品 · · · · · · </h2>');
getDoc('https://www.imdb.com/name/' + id + '/?ref_=nv_sr_1#director', null, function (doc, res, meta) {
$('.filmo-category-section div.filmo-row', doc).each(function () {
if ($(this).attr('id').startsWith('director-')) {
var tt = $(this).attr('id');
tt = tt.slice(9);
//console.log(tt);
var title_en = $(this).find('b a').text();
getDoc('https://cn.bing.com/search?q=site%3Amovie.douban.com%2Fsubject%2F+%2BIMDb链接%3A+%2B' + tt, null, function (doc3, res, meta) {
var title_cn = $('#b_results .b_algo a', doc3).first().text().replace(/(\(豆瓣\)|\s-\s豆瓣电影)/, '');
var douban_link = $('#b_results .b_algo a', doc3).first().attr('href');
if (douban_link) {
var douban_id = douban_link.split('/')[4];
}
title_cn = title_cn == '' ? '暂无条目' : title_cn;
$('div.movie-list').append('<div class="' + tt + '"><h2 style="font-size:13px;">' + title_cn + '<span style=" color: grey;font-size: 10px;margin-left: 10px;margin-right: 5px;">' + title_en + '</span>' + '<span style=" color: grey;font-size: 10px;margin-left: 5px;margin-right: 5px;"><a href="https://www.imdb.com/title/' + tt + '">imdb:' + tt + '</a></span><span style=" color: grey;font-size: 10px;margin-left: 5px;margin-right: 5px;"><a href="' + douban_link + '">dbid:' + douban_id + '</a></span></h2><div></div></div><div class="tags"><p class="ul"></p></div>');
$('td div.director').append('</br>');
})
}
});
var site_pt = $(aside_html);
site_pt.addClass('ptsite');
site_pt.find('div.c-aside-body').addClass('ptsite' + '-body');
site_pt.find('h2 i').text('选择站点');
$('.artist_intro').before(site_pt);
for (site in sites_list['ptsite'].sites) {
var enable_site = GM_getValue(site, 'none');
if (enable_site == 'none') {
enable_site = 1;
GM_setValue(site, enable_site);
}
if (!enable_site) continue;
// add this site to the right column
//console.log('url', url);
var link = $('<a style="background-color: rgb(245, 245, 245);"></a>');
link.addClass(site);
link.html(site);
link.click(function () {
$('.ptsite-body a').css('background-color', '#f5f5f5');
$('div.movie-list div div').empty();
var site = $(this).attr('class');
$(this).css("background-color", '#e3f1ed');
GM_setValue('site_artist_flag', site);
$('div.movie-list div').each(function () {
var tt = $(this).attr('class');
if (!tt) return;
if (tt.startsWith('tt')) {
var url = parseURL(sites_list['ptsite'].sites[site].imdb + tt.slice(2));
getDoc(url.source, tt, function (doc, res, meta) {
var result;
if (/没有种子|No Torrents Found|Your search did not match anything.|No torrents here|用准确的关键字重试/.test(res.responseText)) {
//console.log("No any torrent find in Site " + site + ".");
result = false;
}
var tr_list = $(sites_list['ptsite'].sites[site].selector ? sites_list['ptsite'].sites[site].selector : "table.torrents:last > tbody > tr:gt(0)", doc);
if (tr_list.length) {
result = true;
// //console.log('search result',tr_list.length);
}
else {
result = false;
}
if (result) {
$('.' + tt + ' div').append('<a href="' + url.source + '">' + url.source + '</a>');
}
else {
$('.' + tt + ' div').append('暂无资源');
}
})
}
})
})
$('.ptsite-body ul').append(link);
}
});
})
$('span.search_result').append(link);
})
});
});
})
})
$('div.nav-items ul').append('<li></li>');
$('div.nav-items ul li').last().append(artist_nav);
}
var flag_doulist = GM_getValue('doulist');
if (flag_doulist) {
var doulist_nav = $('<a style="color:#27a">豆列搜索</a>');
doulist_nav.mouseover(function () {
$(this).css('color', 'white');
})
doulist_nav.mouseout(function () {
$(this).css('color', '#27a');
})
doulist_nav.click(function () {
$('div#wrapper').empty();
$('div#wrapper').append('<div id="content"> <h1>豆列搜索</h1> <div class="grid-16-8 clearfix"> <div class="article"> <div class="indent"> <div class="movie-list"></div> </div> </div> <div class="aside"> <div> <h2>豆列搜索 · · · · · ·</h2> <div> <span> <p> <form id="form-doulist"> <input class="doulist" id="input-doulist" placeholder="Criterion, 46534919, ..." value="" /input> <input type="button" id="doulist-submit" value="search" /input> </form> </p> </span> <span style="" class="search_result c-aside-body"></span> </div> </div> <div class="doulist_intro"> <h2>豆列搜索说明 · · · · · ·</h2> <p>输入你想搜的关键词,点击搜索。就这么简单。</p> <p>因为懒,没有做翻页,所以只抓前100条搜索结果。翻页功能以后没准会加入。</p> </div> </div> </div> </div>');
$('#doulist-submit').click(function () {
var doulist = document.getElementById("input-doulist").value;
//console.log(artist);
$('div.movie-list').empty();
$('.c-aside').remove();
var get_doulist = function (doulist, page) {
if (page >= 101) return;
getDoc('https://cn.bing.com/search?q=site%3awww.douban.com%2fdoulist+46' + doulist + '&first=' + page, null, function (doc, res, meta) {
if ($('#b_results .b_algo a', doc).length == 0) {
$('div.movie-list').append('没有找到相关豆列');
}
else {
$('#b_results .b_algo a', doc).each(function () {
var id = $(this).attr('href').split('/')[4];
if (!id) return;
var title_cn = $(this).text().replace(/(\(豆瓣\)|\s-\s豆瓣电影|\s-\s豆瓣)/, '');
var detail = $(this).parent().next().html();
$('div.movie-list').append('<div class="' + id + '"><h2 style="font-size:13px;"><a href="https://www.douban.com/doulist/' + id + '">' + title_cn + '</a></h2><div></div></div><div class="tags">' + detail + '<p class="ul"></p></div>');
})
}
page += 10;
if (page > 11) {
console.log('sleep 1000');
sleep(1000);
}
get_doulist(doulist, page);
});
}
get_doulist(doulist, 1);
});
})
$('div.nav-items ul').append('<li></li>');
$('div.nav-items ul li').last().append(doulist_nav);
}
// add Script Control Panel
var cp_nav = $('<a class="lnk-remind">功能开关</a>')
var cp_box = $('<div class="more-items" style="width: 180px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><a>豆列搜索</a></td><td><div class="doulist"></div></td></tr><tr><td><a>影人资源</a></td><td><div class="artist"></div></td></tr><tr><td><a>电影黑名单</a></td><td><div class="blacklist"></div></td></tr><tr><td><a>原图链接</a></td><td><div class="poster"></div></td></tr><tr><td><a>生成信息</a></td><td><div class="infogen"></div></td></tr><tr><td><a>PT资源</a></td><td><div class="ptsite"></div></td></tr><tr><td><a>PT自动搜索</a></td><td><div class="ptsite_auto"></div></td></tr><tr><td><a>公网资源</a></td><td><div class="offlinesite"></div></td></tr><tr><td><a>公网自动搜索</a></td><td><div class="offlinesite_auto"></div></td></tr><tr><td><a>字幕资源</a></td><td><div class="subsite"></div></td></tr><tr><td><a>字幕自动搜索</a></td><td><div class="subsite_auto"></div></td></tr><tr><td><a>更多评分</a></td><td><div class="morerating"></div></td></tr><tr><td><a class="pt_site_switch">资源站点开关</a></td></tr></tbody></table></div>');
cp_nav.click(function () {
if ($('div.top-nav-info .cp_nav').hasClass('more-active')) {
$('div.top-nav-info .cp_nav').removeClass('more-active');
}
else {
$('div.top-nav-info .cp_nav').addClass('more-active');
}
// $('div.top-nav-info .cp_box').css('display','block');
})
cp_box.find('a').css('color', "#3d3d3d").click(function () {
$(this).parent().next().find('img').click();
});
cp_box.find('td').css('display', "table-cell");
cp_box.find('td').css('width', "auto");
cp_box.find('div').each(function () {
var temp = $('<img>');
var switch_class = $(this).attr('class');
temp.addClass(switch_class);
temp.click(function () {
var flag = GM_getValue(switch_class);
GM_setValue(switch_class, !flag);
$(this).attr('src', flag ? 'https://raw.githubusercontent.com/Exhen/douban-movie-helper/master/off.png' : 'https://raw.githubusercontent.com/Exhen/douban-movie-helper/master/on.png');
})
var flag = GM_getValue(switch_class, 'none');
//console.log(switch_class, flag);
if (flag == 'none') {
GM_setValue(switch_class, 1); flag = 1;
}
//console.log("update_switch");
temp.attr('src', flag ? 'https://raw.githubusercontent.com/Exhen/douban-movie-helper/master/on.png' : 'https://raw.githubusercontent.com/Exhen/douban-movie-helper/master/off.png');
$(this).append(temp);
});
cp_box.find('a.pt_site_switch').click(function () {
cp_nav.click();
$('div#wrapper').empty();
$('div#wrapper').append('<div id="content"><h1>资源站点开关</h1><div class="grid-16-8 clearfix"><div class="article"></div><div class="aside"><div><h2>图例 · · · · · ·</h2><div class="types"><div class="c-aside ptsites"><div class="c-aside-body ptsites-body" style="padding: 0 12px;"><ul><a style="background-color: #e3f1ed;">ON</a><a style="background-color: #f5f5f5;">OFF</a></ul></div></div></div></div></div></div></div>');
for (group in sites_list) {
$('div.article').append('<h2> ' + sites_list[group].name + '· · · · · · </h2><div class="indent"><div class="' + group + '"><ul class="c-aside-body"></ul><p class="ul first"></p></div></div>');
for (site in sites_list[group].sites) {
var site_switch = $('<a></a>');
site_switch.html(site);
var site_switch_flag = GM_getValue(site, 'none');
if (site_switch_flag == 'none') {
site_switch_flag = 1;
GM_setValue(site, site_switch_flag);
}
site_switch.addClass(site);
site_switch.css('background-color', site_switch_flag ? '#e3f1ed' : '#f5f5f5');
site_switch.click(function () {
var site_class = $(this).attr('class');
var site_switch_flag = GM_getValue(site_class, 'none');
site_switch_flag = !site_switch_flag;
GM_setValue(site_class, site_switch_flag);
$(this).css('background-color', site_switch_flag ? '#e3f1ed' : '#f5f5f5');
})
$('div.article div.' + group + ' ul').append(site_switch);
}
}
$()
});
$('div.top-nav-info ul').append($('<li class="cp_nav nav-user-account"></li>'));
$('div.top-nav-info ul .cp_nav').append(cp_nav).append(cp_box);
})
}
else {
//console.log("page not found");
}