[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 小说网页文件内容批量删除替换和提取字符串,如何提取多条内容?

下载的小说很多都有*和广告或作者的结束语,在手机上用听书软件听要老半天无关紧要内容,
于是干脆用快速克隆网站工具,直接下载某页面下的所有链接,
试了几个小说网站上的小说,GBK编码的可以弄,但是如果是UTF-8编码的话就会乱码,
修改哪里能实现提取多条内容?怎么弄能自动识别UTF-8编码?

压缩包有几个网站的网页,有的是UTF-8,需要改成ANSI才能不乱码,这样显得比较麻烦,
希望提取的地方也改进为多条内容的

本帖最后由 3518228042 于 2017-5-28 19:49 编辑
  1. @set @n=0;/* & echo off
  2. dir /b *.htm *.html|cscript -nologo -e:jscript "%~0"
  3. pause & exit/b & rem */
  4. fso = new ActiveXObject("Scripting.FileSystemObject");
  5. while (!WSH.StdIn.AtEndOfStream) {
  6.         f = WSH.StdIn.ReadLine();
  7.         txt = fso.OpenTextFile(f, 1).ReadAll();
  8.         txt = txt.replace(/ *<h1> ?第?([一二两三四五六七八九十○零百千0-91234567890]{1,9})([章节][ ]*)?([^ <]*)<\/h1>/ig,"\r\n<h1>第$1章 $3<\/h1>")
  9.                 //<h1>标签章节名规范
  10.                 .replace(/(&nbsp;| )([^<]+)([ \r\n]*\t*)* *(<\/[^>]+>)/ig,"$1$2<br />")
  11.                 //小段落后面无<br />去除回车换行添加<br />
  12.                 .replace(/[  ]*(<\/p>|<br ?\/?>|<\/div>|<\/title>)/ig,"$1\r\n")
  13.                 //小段落去除空字符
  14.                 .replace(/(<\/p>|<\/script>|<\/a>|<\/i>|<br ?\/?>|<\/select>)(\r\n)?/ig,"$1\r\n")
  15.                 //小段落添加回车换行
  16.                 .replace(/[\r\n ]* *<h1[^>]+>[\r\n]* *(第.{1,9}[章节])[  ]*([^ ]+)? *<\/h1>/ig,"\r\n<h1>$1 $2</h1>\r\n")
  17.                 //缩短<h1>标签
  18.                 .replace(/(\">)((&nbsp;| | )*[…\.]+[\r\n]+)?(&nbsp;| | )*PS:(.*<br ?\/?>[\r\n]*)(?!<br ?\/?>)/ig,"$1\r\n")
  19.                 //删除章节头部的PS:行内容
  20.                 .replace(/ |&nbsp;&nbsp;/g," ")
  21.                 //替换字符串
  22.                 .replace(/([男女兽猎夫妇那])\*+([叫喊哭])/g,"$1人大$2")
  23.                 .replace(/\*+不离十/g,"八九不离十")
  24.                 .replace(/十有\*?\*/g,"十有八九")
  25.                 .replace(/天\*+美/g,"天性爱美")
  26.                 .replace(/洞\*+出/g,"洞内射出")
  27.                 .replace(/向\*+围/g,"向中心围")
  28.                 .replace(/消\*+影/g,"消失身影")
  29.                 .replace(/水\*+融/g,"水乳交融")
  30.                 //修正*内容
  31.                 .replace(/(<br ?\/?>[\r\n]*)\1(&nbsp;| | )*PS[::](.*<br ?\/?>[\r\n]*){1,5}/ig,"$1")
  32.                 //删除章节尾部PS:内容1-5行
  33.                 .replace(/(&nbsp;)*广大书友通知想看最新.*无弹窗更新快手机站/g,"")
  34.                 .replace(/ *.*第一时间看正版内容!/g,"");
  35.                 //删除广告内容行
  36.                 s = "";
  37.                 re = /(<p>|<h1> ?|  +|    +)(.+)(<br ?\/?>|<\/p>|<\/h1>)/ig;
  38.                 //提取<h1>到</h1>、<p>到</p>、空格到<br>或<br />或<br/>之间的内容
  39.                 while ((ar = re.exec(txt)) != null) {
  40.                         s += ar[2] + "\r\n\r\n";
  41.                 };
  42.         fso.OpenTextFile(f + ".txt" ,2, true).Write(s);//保存到提取文件
  43. }
复制代码
发现这论坛也屏蔽这类,删除了,比如感情*彩,开口*流,灵兽*易,高大*力……都是**若的祸

TOP

返回列表