您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在豆瓣读书页面展示资源站下载链接
当前为
// ==UserScript== // @name 豆瓣读书资源助手 // @namespace yueye // @version 1.1.6 // @description 在豆瓣读书页面展示资源站下载链接 // @author yueye // @match https://book.douban.com/subject/* // @require http://cdn.bootcss.com/jquery/3.2.1/jquery.min.js // @grant GM.xmlHttpRequest // @grant GM_xmlhttpRequest // ==/UserScript== (function () { var website = [{ site: '我的小书屋', searchLink: 'http://mebook.cc/?s=', selector: '.list li', itemSelector: ' .content h2 a', state: -1 },{ site: 'sobooks', searchLink: 'https://sobooks.cc/search/', selector: '.cardlist .card', itemSelector: ' .shop-item h3 a', state: -1 },{ site: 'bookset', searchLink: 'https://bookset.me/search/', selector: '.cardlist .card', itemSelector: ' .card-item h3 a', state: -1 },{ site: 'epubee', searchLink: 'http://cn.epubee.com/books/?s=', selector: '', itemSelector: '', state: 0 }] var title = document.querySelector('h1 span').innerText var author = document.querySelectorAll('#info a')[0].innerText var splitStart = document.querySelectorAll('#info a')[0].innerText.indexOf(']') var splitEnd = document.querySelectorAll('#info a')[0].innerText.indexOf('(') !== -1 ? document.querySelectorAll('#info a')[0].innerText.indexOf('(') : author.length author = author.substr(splitStart + 1, splitEnd - splitStart -1).trim() function getSearchPage (searchLink, title, selector, itemSelector) { return new Promise(function(resolve, reject) { GM_xmlhttpRequest({ method: 'GET', url: searchLink + title, onload: function (res) { var state = -1 if (selector) { var doc = (new DOMParser()).parseFromString(res.responseText, 'text/html'); var list_length = doc.querySelectorAll(selector).length if (list_length > 0) { var bookTitle = doc.querySelectorAll(selector + itemSelector)[0].innerText || '' state = bookTitle.indexOf(title) } } else { state = 0 } resolve(state) } }) }) } /* function getDownloadLink (title, website) { return new Promise(function(resolve, reject) { GM.xmlHttpRequest({ method: 'POST', url: 'http://127.0.0.1:3000/index?keywords=' + title, data: website, onload: function(response) { console.log(JSON.parse(response.responseText)) resolve(JSON.parse(response.responseText)) } }) }) } */ function showInDoubanPage (title) { var html = [ '<div class="gray_ad" id="doubanBookDL">', '<div id="buyinfo-printed" class="no-border">', '<h2>'+ title +'电子版下载 · · · · · ·</h2>', '<ul class="bs noline">', '加载中...', '</ul>', '</div>', '</div>', ].join('') var sidebar = document.querySelector('.aside') sidebar.innerHTML = html + sidebar.innerHTML } if (/book.douban.com/.test(location.href)) { /* getDownloadLink(title, website).then(res => { console.log('请求完成') }) */ (async function (){ var arr = [] showInDoubanPage(title) for (let i = 0; i < website.length; i++) { const res = await getSearchPage(website[i].searchLink, title, website[i].selector, website[i].itemSelector) website[i].state = res var html = [ '<li style="position:relative">', '<a target="_blank" href="javascript:;" style="display:inline-block;">'+ website[i].site +'</a>', '<a target="_blank" class="buylink-price" href="'+ (website[i].state >=0 ? website[i].searchLink + title : 'javascript:;') + '" style="position:absolute;bottom:0;right:65px;display:block;color:#fff;background-color:#ffc160;height:22px;padding:0 12px;border-radius:2px;font-size:12px;line-height:22px;text-align:center;">'+ (website[i].state >= 0 ? '下载' : '暂无资源') +'</a>', '<a target="_blank" class="buylink-price" href="'+ website[i].searchLink + author + '" style="position:absolute;bottom:0;right:0;display:block;color:#4f946e;background-color:#f2f8f2;height:22px;padding:0 12px;border-radius:2px;font-size:12px;line-height:20px;text-align:center;border:1px solid #4f946e;box-sizing: border-box;">搜作者</a>', '</li>', ] arr = arr.concat(html) } console.log(arr) document.querySelectorAll('#doubanBookDL ul')[0].innerHTML = arr.join('') })() } })()
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址