// ==UserScript== // @name wanbentxt // @namespace http://tampermonkey.net/ // @version 0.51 // @description https://m.wanbentxt.com/ 的小说下载 // @author You // @match https://m.wanbentxt.com/* // @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js // @require https://cdn.jsdelivr.net/npm/file-saver@1.3.8/FileSaver.min.js // @grant GM_xmlhttpRequest // @downloadURL none // ==/UserScript== (function () { 'use strict'; var DivInited = false; var WCContent, WCWords, WCQuit, WCSave, WCContinue; var pagenum = 0, chapternum = 0; var title, Id, authior, desc; var listpage = []; var oldurl = 'null'; function initDiv() { console.log("initDiv"); if (DivInited) return; DivInited = true; var content = document.createElement("div"); document.body.appendChild(content); content.outerHTML = `
\\s*ì": "日",
'曹艹': '曹操',
'JI昂': '激昂',
'□□无暇': '自顾无暇',
'法律/界': '法律界',
'人/类': '人类',
'恐怖/主义': '恐怖主义',
'颠/覆': '颠覆',
'民.事.司.法.裁.判': '民事司法裁判',
'南海/问题': '南海问题',
'圈圈/功': '法轮功',
'镇/压': '镇压',
'赤.裸': '赤裸',
'欲·望': '欲望',
'nv真': '女真',
'土gai': '土改',
'狗·屎': '狗屎',
'du立': '独立',
'发sao': '发骚',
'奸/夫/淫/妇': '奸夫淫妇',
'爱qing': '爱情',
'抚mo': '抚摸',
'神qing': '神情',
'公~务~员': '公务员',
'原着': '原著',
'□□部分': '高潮部分',
'角□□面': '角色情面',
'艹': '操',
'淫/靡/香/艳': '淫靡香艳',
'毒丨药': '毒药',
'登6': '登陆',
'天□□美': '天性爱美',
'双丨飞': '双飞',
'高chao': '高潮',
'pi股': '屁股',
'情/趣': '情趣',
'情/欲': '情欲',
'炸/弹': '炸弹',
'赤/身': '赤身',
'果/体': '裸体',
'zhong国': '中国',
'帝国#主义': '帝国主义',
'形形□□': '形形色色',
'yuwang': '欲望',
'shuangtui': '双腿',
'城/管': '城管',
'调丨教': '调教',
'银/行/卡': '银行卡',
'裸/体': '裸体',
'光/裸': '光裸',
'嫩/女': '嫩女',
'维/谷': '维谷',
'开□□谈': '开始交谈',
'破碎的□□': '破碎的呻吟',
'pi霜': '砒霜',
'ma醉': '麻醉',
'麻zui': '麻醉',
'nue杀': '虐杀',
'后gong': '后宫',
'林荫dao': '林荫道',
'分/身': '分身',
'克/隆': '克隆',
'性/需要': '性需要',
'黑/帮': '黑帮',
'政-府': '政府',
'八/九': '八九',
'不~着~寸~缕': '不着寸缕',
'肉~体': '肉体',
'蹲□子': '蹲下身子',
'ji情': '激情',
'xie恶': '邪恶',
'Z国': '中国',
'创/世': '创世',
'紫jin城': '紫禁城',
'□□在外': '裸露在外',
'光怪6离': '光怪陆离',
'邪/教': '邪教',
'粗bao': '粗暴',
'yin邪': '淫邪',
'小biao砸': '小婊砸',
'牛1b': '牛b', '微1博': '微博', '内1衣': '内衣',
};
const replaceAll = [
// 长文字替换
// 排序代码:newArr = arr.sort((a, b) => { var diff = a.charCodeAt(1) - b.charCodeAt(1); if (diff == 0) return b.length - a.length; return diff; })
'\^完^本^神^站^\分类精确、支持神站请多多分享给你的小伙伴吧!',
'喜欢神站记得收藏、多多推荐给你的书友!',
'搜一下就能找到,喜欢就收藏,喜欢就多多分享!',
'做一个你值得收藏的阅读站!请多多分享给与我们最大的支持动力。',
'希望书友们多多宣传给还不知道的伙伴们,一起见证神站的成长!',
'请多多分享给你的小伙伴!你的分享就是神站的动力。',
'喜欢本站的伙伴们,请多多分享给你的小伙伴!支持就是动力。',
'支持本站请多多分享出去,让我们一起做得更好!',
'支持神站请多多分享给其他书友,支持就是动力!',
'请多多分享给爱看书的朋友,支持就是动力!',
'喜欢神站的小伙伴帮忙多多宣传,神站需要更大的动力!',
'喜欢神站记得收藏、多多推荐给更多爱看书的人',
'做一个阅读好站,需要书友们多多宣传,多多分享!',
'喜欢神站记得收藏、多多推荐给你的书友',
`\/`,
'更多免费精品好书请搜',
'更多好书免费看搜',
'更多好书尽在',
'更多免费精品好书请搜',
'看好书,找好书搜',
'看好书就搜',
'看好书,尽在↓',
'看好书,找好书请搜',
'书荒就搜',
'更多好书请搜',
'更多好书 请搜',
'免费看精品好书请搜',
'精品热门小说免费看请搜',
'免费看精品好书请搜',
'看更多好文请搜',
'本站域名已经更换为,老域名已经停用,请大家重新收藏,并使用新域名访问。',
"\\(跪求订阅、打赏、催更票、月票、鲜花的支持!\\)",
"\\(?未完待续请搜索飄天文學,小说更好更新更快!",
"\\(跪求订阅、打赏、催更票、月票、鲜花的支持!",
"\\(看小说到网\\)",
"\\(未完待续。\\)",
"\\(本章完\\)",
"16977小游戏每天更新好玩的小游戏,等你来发现!",
"(800小说网 www.800Book.net 提供Txt免费下载)最新章节全文阅读-..-",
"(800小说网 www.800Book.net 提供Txt免费下载)",
"\\[800\\]\\[站页面清爽,广告少,",
"\\[看本书最新章节请到求书 .\\]",
"(\\s*君子聚义堂)",
"readx;",
"txt电子书下载/",
"txt全集下载",
"txt小说下载",
"\\|优\\|优\\|小\\|说\\|更\\|新\\|最\\|快\\|www.uuxs.cc\\|",
"\\|每两个看言情的人当中,就有一个注册过可°乐°小°说°网的账号。",
"思ˊ路ˋ客,更新最快的!",
"恋上你看书网 630bookla ,最快更新.*",
",举报后维护人员会在两分钟内校正章节内容,请耐心等待,并刷新页面。",
"追书必备",
"-优-优-小-说-更-新-最-快-www.UUXS.CC-",
"-优-优-小-说-更-新-最-快x",
"来可乐网看小说",
"纯文字在线阅读本站域名手机同步阅读请访问",
"本文由 首发",
"樂文小说",
'最快更新无错小说阅读,请访问 请收藏本站阅读最新小说!',
"最新章节全文阅读看书神器\\.yankuai\\.",
"最新章节全文阅读(..首发)",
"最新章节全文阅读【首发】",
"最新章节全文阅读",
"看本书最新章节请到800小说网(www.800book.net)",
"(本章未完,请翻页)",
"手机用户请浏览m.biqugezw.com阅读,更优质的阅读体验。",
"手机用户请浏览阅读,更优质的阅读体验。",
"阅读,更优质的阅读体验。",
"手机最省流量无广告的站点。",
"手机看小说哪家强手机阅",
"如果你喜欢本站[〖]?一定要记住[】]?(?:网址|地址)哦",
"看清爽的小说就到",
"请用搜索引擎(?:搜索关键词)?.*?完美破防盗章节,各种小说任你观看",
"完美破防盗章节,请用搜索引擎各种小说任你观看",
"破防盗章节,请用搜索引擎各种小说任你观看",
"(?:搜索引擎)?各种小说任你观看,破防盗章节",
"章节错误,点此举报\\(免注册\\)",
"热门小说最新章节全文阅读.。 更新好快。",
"【阅读本书最新章节,请搜索800】",
"亲,百度搜索眼&快,大量小说免费看。",
"亲,眼&快,大量小说免费看。",
'下载免费阅读器!!',
'笔趣阁 .,最快更新.*最新章节!',
'请大家搜索(书迷楼)看最全!更新最快的小说',
'更新快无广告。',
'【鳳.{1,2}凰.{1,2}小说网 更新快 无弹窗 请搜索f.h.xiao.shuo.c.o.m】',
'【可换源APP看书软件:书掌柜APP或直接访问官方网站shuzh.net】',
'[●★▲]手机下载APP看书神器.*',
"m.?手机最省流量的站点。",
'm.?手机最省流量.无广告的站点。',
'底部字链推广位',
'us最快',
'APPapp',
'久看中文网首发',
'顶点小说 23US.com更新最快',
// 复杂规则的替换
'(看小说到|爱玩爱看就来|就爱上|喜欢)?(\\s|<|>|&| |[+@@=:;``%?》《〈︾-])?[乐樂](\\s|<|>|&| |[+@@=:;``%?》《〈︾-])?[文].*?[说說][网]?[|]?(.*(3w|[wωWw]{1,3}|[Mm]).*[mMm])?[}。\\s]?(乐文小说)?',
'(本文由|小说)?(\\s| )?((3w|[wWw]{1,3}|[Mm]).)?\\s?[lしlL][wωWw][xχXx][sSs][55][22][00].*[mMm][|\\s]?(首发(哦亲)?)?',
'([『【↑△↓@︾]+[\u4E00-\u9FA5]){2,6}[】|]',
// 包含 \P 的替换
'\\P{1,2}[顶頂].{1,3}[点小].*?o?[mw,]',
'\\P.?长.{1,2}风.{1,2}文.{1,2}学.*?[tx]',
'\\P无.错.*?[cC][oO][mM]',
'[;\\(]顶.{0,2}点.小说',
'2长2风2文2学,w¢$',
'》长>风》',
// 包含 .* 的,可能有多余的替换
'看无防盗章节的小说,请用搜索引擎搜索关键词.*',
'(?:完美)?破防盗章节,请用搜索引擎搜索关键词.*',
'搜索引擎搜索关键词,各种任你观看,破防盗章节',
'破防盗完美章节,请用搜索引擎.*各种小说任你观看',
'如您已(?:閱讀|阅读)到此章节.*?敬请记住我们新的网址\\s*。',
'↗百度搜:.*?直达网址.*?↖',
"[:《〈|~∨∟∑]{1,2}长.{1,2}风.*?et",
'\\[限时抢购\\].*',
'支持网站发展.逛淘宝买东西就从这里进.*',
'ps[::]想听到更多你们的声音,想收到更多你们的建议,现在就搜索微信公众号“qdread”并加关注,给.*?更多支持!',
'(?:ps[::])?看《.*?》背后的独家故事.*?告诉我吧!',
'(?天上掉馅饼的好活动.*?微信公众号!)?',
'(微信添加.*qdread微信公众号!)',
'jiemei如您已阅读到此章节,请移步到.*?\\[ads:本站换新网址啦,速记方法:,.\\]',
'先给自己定个小目标:比如收藏笔趣阁.*',
'请记住本书首发域名.*',
'记住手机版网址.*',
'.*关注微信公众号.*',
'一秒记住.*',
// 短文字替换
'\\[txt全集下载\\]',
'\\[\\s*超多好看小说\\]',
'⊙四⊙五⊙中⊙文☆→',
'\\[ads:本站换新网址啦,速记方法:.*?\\]',
'[》《|~]无(?:.|>)错(?:.|>)小说',
'`无`错`小说`www.``com', '+无+错+小说+3w++',
'\\|优\\|优\\|小\\|说\\|更\\|新\\|最\\|快X',
'▲∴', '8,ww←',
/www.23+?[Ww][Xx].[Cc]om/ig,
/热门推荐:、+/g,
/h2>/g,
'[《〈》>\\+|~[\\]]无\\1错\\1', '》无>错》',
'女凤免费小说抢先看', '女凤小说网全文字 无广告',
'乐文小说网?', '《乐〈文《小说', '乐文移动网', '頂点小说', '頂點小說',
'追小说哪里快去眼快',
'\\[书库\\].\\[774\\]\\[buy\\].kuai',
'www.938xs.com',
'小說,.biquge5200.',
/'ads_wz_txt;',|百度搜索|无弹窗小说网|更新快无弹窗纯文字|高品质更新|小说章节更新最快|\(百度搜.\)|全文字手打|“” 看|无.弹.窗.小.说.网|追书网|〖∷∷无弹窗∷纯文字∷ 〗/g,
];
// import _ from 'underscore'
// 单字替换,可能会误替换,所以需要特殊处理
var oneWordReplace = {
"b[āà]ng": "棒", "bào": "爆", "bà": "吧", "bī": "逼", "bō": "波", "biàn": "便",
"cāo": "操", "cǎo": "草", "cào": "操", "chāng": "娼", "chang": "娼", "cháo": "潮", "chā": "插", "chéng": "成", "chōu": "抽", "chuáng": "床", "chún": "唇", "chūn": "春", "cuō": "搓", "cū": "粗",
"dǎng": "党", "dàng": "荡", "dāo": "刀", "dòng": "洞", "diao": "屌", "diǎn": "点",
"fǎ": "法", "féi": "肥", "fù": "妇",
"guān": "官",
"hán": "含", "hóu": "喉", "hòu": "后", "h(u)?ā": "花", "huá": "华", "huì": "会", "huò": "惑", "hùn": "混", "hún": "魂",
"jiǔ": "九", "j[īi]ng": "精", "jìn": "禁", "jǐng": "警", "jiāng": "江", "jiān": "奸", "jiāo": "交", "jūn": "军", "jū": "拘", "jú": "局", "jī": "激", "激ān": "奸",
"kù": "裤", "kàn": "看",
"[1l]àng": "浪", "liáo": "撩", "liú": "流", "lì": "莉", "liè": "烈", "[1l]uàn": "乱", "lún": "伦", "luǒ": "裸", "lòu": "露", "[l1]ù": "露", "lǜ": "绿", "liàn": "练",
"mǎi": "买", "mài": "卖", "máo": "毛", "mā": "妈", "méng": "蒙", "mén": "门", "miè": "灭", "mí": "迷", "mì": "蜜", "mō": "摸", "miàn": "面",
"nǎi": "奶", "nèn": "嫩", "niào": "尿", "niē": "捏", "nòng": "弄", "nǚ": "女",
"pào": "炮", "piàn": "片", "pò": "破",
"qi[āa]ng": "枪", "qíng": "情", "qīn": "亲", "qiú": "求", "quán": "全", "qù": "去",
"rén": "人", "r[ìi]": "日", "rǔ": "乳",
// s
"sǎ": "洒", "sāo": "骚", "sǎo": "骚", "sè": "色", "se": "色", "shā": "杀",
"shēn": "身", "shēn": "呻", // 2个重复的,误替换且是单字怎么办
"shén": "神", "shè": "射", "shǐ": "屎", "shì": "侍", "sǐ": "死", "sī": "私", "shǔn": "吮", "sǔn": "吮", "sū": "酥", "shào": "绍",
"tān": "贪", "tiǎn": "舔", "t[ǐi]ng": "挺", "tǐ": "体", "tǒng": "捅", "tōu": "偷", "tou": "偷", "tuǐ": "腿", "tūn": "吞", "tún": "臀", "tiáo": "调", "tài": "态", "tào": "套",
"wēn": "温", "wěn": "吻",
"xiǎo": "小", "xiào": "笑", "xìng": "性", "xing": "性", "xiōng": "胸", "xī": "吸", "xí": "习", "xì": "系", "xìn": "信", "xué": "穴", "xuè": "穴", "xùe": "穴", "xuan": "宣", "xiàng": "象",
"yāng": "央", "yàn": "艳", "yīn": "阴", "yào": "药", "yé": "爷", "yòu": "诱", "zàng": "脏", "y[ùu]": "欲", "yín": "淫", "yì": "意", "yà": "讶",
"zhēn": "针", "zēn": "针", "zhà": "炸", "zhèng": "政", "zǒu": "走", "zuì": "罪", "zuò": "做", "zhōng": "中",
};
var replaceFix = {
// ===误替换还原===
"碧欲": "碧玉", "美欲": "美玉", "欲石": "玉石", "惜欲": "惜玉", "宝欲": "宝玉",
"品性": "品行", "德性": "德行",
"波ok": "book", "波SS": "BOSS",
// ===其他修正===
"弥俩": "你俩",
"妳": "你",
// "圞|垩|卝|龘":"",
"大6": "大陆",
};
function textselect(text) {
var pr = /^[\u0020\u3000\t\n\r]*(?:(《[^\n\r]+》)|(序|序[\u0020\u3000\t]*章|序[\u0020\u3000\t]*言|前[\u0020\u3000\t]*言|引[\u0020\u3000\t]*言|引[\u0020\u3000\t]*子|摘[\u0020\u3000\t]*要|楔[\u0020\u3000\t]*子|背景简介|内容简介)|((?:第[\u0020\u3000\t]*)?(?:(?:[0-9]+(?:.[0-9]+)?)|(?:[〇零一壹二贰三叁四肆五伍六陆七柒八捌九玖十拾百佰千仟万亿萬億廿卅卌]+))[\u0020\u3000\t]*([章节回卷折篇幕集])(?:[\u0020\u3000\t][^\n\r]{1,20}[^\n\r\u0020\u3000\t])?)|(后[\u0020\u3000\t]*记|附[\u0020\u3000\t]*言|结[\u0020\t]*语)|([^\n\r]+))(?=[\u0020\u3000\t]*[\n\r]+)/;
var p = pr.exec(text);
console.log(p);
}
function extendRule(replaceRule) {
$.each(oneWordReplace, function (value, key) {
// 这个替换会把 yùn 替换为 yù
// replace['\\b' + key + '(?:\\b|\\s*)'] = value;
// 这个不会替换 rén: shā rén偿命 => 杀 rén偿命
// replaceRule['([^a-z\\s])' + key + '(?![a-z])'] = '$1' + value;
replaceRule['\\b' + key + '(?![a-z])'] = value;
});
$.extend(replaceRule, replaceFix);
}
function textreplace(text) {
for (var key in rulereplace) {
text = text.replace(new RegExp(key, "ig"), rulereplace[key]);
}
for (var key in replaceAll) {
text = text.replace(replaceAll[key], '');
}
return text;
}
async function gettitle() {
var m = /m\.wanbentxt\.com\/(\d+)/.exec(location.href);
console.log(m);
if (m) {
Id = m[1];
let Idurl = 'https://m.wanbentxt.com/' + Id + '/';
let Idstr = await gethtml(Idurl);
let Iddoc = $('');
Iddoc.html(Idstr);
desc = Iddoc.find('.bookInfo').text();
if (!desc)
desc = desc.replace(/(?www.wanbentxt.com\)?/, '');
authior = Iddoc.find('.bookPhrMid p:nth-child(1)').text();
title = Iddoc.find('.bookPhr h2').text();
return 'https://m.wanbentxt.com/' + Id + '/all.html'
}
return null;
}
async function run() {
let t = /m\.wanbentxt\.com\/(\d+)\/(\d+)/.exec(location.href);
console.log(t);
if (!t || t.length == 0) {
console.log('null');
extendRule(rulereplace);
let reurl = await gettitle();
await getpage(reurl);
console.log('end');
SaveText();
}
else {
console.log('not null');
let content = $('.raderCon');
if (content.length > 0) {
let value = content.html();
console.log(value);
value = textchange(value);
console.log(value);
}
}
}
function SaveText() {
if (!listpage || listpage.length == 0) return;
let save = [];
$.each(listpage, function (index, value) {
save.push(value.title + '\r\n' + value.content + '\r\n\r\n');
});
ShowWords(`已下载完成
共${pagenum}页
共${chapternum}章节`)
var blob = new Blob([title, "\r\n", authior, "\r\n", desc, "\r\n\r\n", save.join('\r\n')], { type: "text/plain;charset=utf-8" });
saveAs(blob, title + '.txt');
}
inits();
})();