注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

蓝天堂

Venchia's Blog

 
 
 

日志

 
 

【原创】一个规范的txt小说文件是怎么产生的  

2007-07-31 16:55:02|  分类: 天堂武馆 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
*/ -----------------------------------------------------------------------------------------
*/ 标题: 【原创】一个规范的txt小说文件是怎么产生的
*/ 出自: LTT http://www.venchia.com
*/ 作者: venchia
*/ 时间: 2007/07/30
*/ 声明: 测试的东西有时效性,如果到时候有何不同,跟我无关
*/ -----------------------------------------------------------------------------------------

【一、序】

由于我很喜欢看小说,特别是有电脑、网络之后,就经常待在电脑前看书,而对于阅读的小说格式,最喜欢的就是txt拉,主要是可以放在多种介质种阅读,手机、pda、mp4、psp等都可以观看。在这里顺便推荐一个读书软件好了,就是大名鼎鼎的readbook,虽然已经多年没有更新了,不过他的功能,已经是够用了。回到正题,由于喜欢txt小说,就对他的版式有了一定的要求,一般得到一个txt小说文件,都要先进行排版,使之符合一定的规范,方便大家的阅读。

【二、txt小说的规范】

下面我就怎么才是一个规范的txt小说来说说。首先这个小说要只有一个txt文件,因为这样才方便大家的阅读,不用频繁的打开关闭文件,其次这个txt小说文件需要有小说名、作者、内容简介、目录、还有最重要的文件内容。其中文件的内容当然还包括一些卷集章节,这些都应该规范,才可以让人一目了然。怎么编排呢?请看下面的例子,《三界》作者:阿力.txt内容如下
==========================================
  三界
  作者:阿力

【内容简介】

  类别:网游竞技
  一生二,二化三,三生万象,轮回于无尽之中,徘徊于三界之外……
  这是一部以中国民间神话故事为背景,以一统三界(天界地界冥界)为目标的网络游戏。对这部网游作出以下几点申明:

第一部 三界

三界·01

第一章 初入三界
……
第四章 神器铸造术
……
第十章 二世转生

三界·02

第十一章 行医而隐
……
第十二章 过山海关

  第一集 第一章 初入三界

  唉……我一边开启电脑一边长叹。或许真是造化弄人,二十八岁的我如今还是空有一身抱负而一事无成。
  我——姓罗名兴,男,未婚,二十八岁,未寻……晕,证婚啊……

  第二集 第十一章 行医而隐

  时间过得真快,我这个现实中的无业游民终于在《三界》找到了自己的理想与归宿,我迷上了《三界》。

==========================================
从这里我们可以看出,只有内容简介的标签和目录是左对齐的,其他书名、作者、简介、内容都是左缩进两个全角空格(或者4个半角空格)。还有目录、内容的每一级都是用空行隔开,这样的好处就是看目录就知道大概知道内容怎么回事了,方便查阅。

既然规格有了,那要怎么做呢?当然你可以说慢慢手工编辑,虽然这也可以,不过我想你要花费很多的时间拉。下面,我就提供一些工具和方法,来提供编辑的效率。

【三、编辑txt小说的工具和方法】

我们这里用的工具其实不多,就emeditor和文件整理器,主要还是emeditor,借助em的正则功能来协助整理txt文件,只有碰到一些需要合并固定宽度行和破解乱码的操作时候,才用到文件整理器。

比如我要让行前空两个全角空格,行尾不要有空格,我可以这么做

先清除所有的行前空格和行尾空格

行前的是^\s+,替换为空

行尾是\s+$,替换为空

接着在行前添加两个全角空格,即^替换为  (里面是两个全角空格)

当然这些都可以保存为宏命令,方便以后的调用

而当要编辑卷集章节时候,都可以用命令来做

比如章节用^(  第.*集.*第.*章.+),就可以随便的在章的前后加两个空行了,只要替换为\n\1\n就可以了

具体的应用可以参照一些正则表达式的资料

http://bbs.et8.net/bbs/showthread.php?t=653055
http://www.regexlab.com/zh/
http://www.regular-expressions.info/

还有我把几个经常用到的宏命令打包了,也可以参照使用的

上面说了,要用到文本整理器,是因为两个原因,下面我们来看看例子

==========================================
  时间过得真快,我这个现实中的无业游民终于在《三界》找到了自己的理想
与归宿,我迷上了《三界》。
  脑中挂着这样一个大大的疑问,我一边工作,一边开始观察这个《三界》的
世界。
  三界屋按我的设想,让我能够长时间进入游戏中去。楼上是工作区,楼下是
生活区。我请了一个保姆为我料理一切生活起居。
==========================================

这些文字都被固定长度了,要手动去编辑比较累,用正则我又不会(如果有人会,希望能教我),所以就得用文本整理器中的合并行功能了,合并之后效果如下

==========================================
  时间过得真快,我这个现实中的无业游民终于在《三界》找到了自己的理想与归宿,我迷上了《三界》。
  脑中挂着这样一个大大的疑问,我一边工作,一边开始观察这个《三界》的世界。
  三界屋按我的设想,让我能够长时间进入游戏中去。楼上是工作区,楼下是生活区。我请了一个保姆为我料理一切生活起居。
==========================================

这是功能一,功能二就是破乱码拉,比如有这么一段文件,其中有了乱码

==========================================
  《异人傲世录》篇外篇黑暗传说——噬盟作者:明寐淅淅沥沥的一场夜雨,终于在清晨时分开始稀疏,早饭之后,漫天的雨滴被收敛起来。自昨晚就拢罩在圣都田野的一片朦胧白雾,也被悠然升起的日头驱散。举头,一片空明沉碧;远眺,和缓的阳光夹乖诼靶侣讨希谝对挡菁庹凵涑鐾虻汨驳挠ü饩Я痢?
==========================================

只要我们选中乱码部分,在使用他的破乱码功能,慢慢校对,就可以得到正确的内容拉

==========================================
  《异人傲世录》篇外篇黑暗传说——噬盟作者:明寐淅淅沥沥的一场夜雨,终于在清晨时分开始稀疏,早饭之后,漫天的雨滴被收敛起来。自昨晚就拢罩在圣都田野的一片朦胧白雾,也被悠然升起的日头驱散。举头,一片空明沉碧;远眺,和缓的阳光泄在满野新绿之上,在叶缘草尖折射出万点璀璨的莹光晶亮。
==========================================

上面说了这么多,都是关于txt小说文件的编辑,可是txt小说文件是怎么来的呢,没有这个txt小说文件,我们怎么去编辑呢,基于这个问题,请看下面章节

【四、txt小说的来源】

(1)、抓取

平时的txt小说我都是都是自己在网上抓取的,以前是用transport、flashget等下载之后编辑,后来有了网络取书,我就一直用这了抓取了

网络取书是独立小组的作品,分有1.X和2.X两个版本,支持的小说站比较多,不过由于小说站版块的更新快,所以还要求我们自己定义,不过个人能自定义的就1.X可以,官网发布地址是

http://202.103.215.26:126/dlxz/index.htm
http://202.103.215.26:126/index.asp
交流区是
http://post.baidu.com/f?kw=%CD%F8%C2%E7%C8%A1%CA%E9

自定义配置可以参照下面的说明

==========================================
网络取书新站点添加说明
普通参数,设置网站名称、编码、处理模式等
webName=网站域名
pagecode=网页编码(936:简体;950:繁体;65001:UTF8编码)
handleID=网站的处理模式,具体如下
当 HandleID= 为空时,通过处理目录来获取文章的内容
起始页面内容处理,从起始页面获取目录页的链接
urlTID1=目录页链接的起始识别字符串
urlTID2=目录页链接的结尾识别字符串
该参数有2种情况:
urlTID1和urlTID2均不空,获取两者间的字符串作为目录链接,如www.17k.com
urlTID1不空,urlTID2为空,获取urlTID1前的链接作为目录,如www.cmfu.com
起始页面地址处理,分离出该页面的唯一识别字符串,后面目录页内容处理时,用来获取各章节页面的链接
nameID1=起始识别字符串
nameID2=结尾识别字符串
该参数有3种情况:
nameID1和nameID2为空,获取整个链接的字符串
nameID1和nameID2均不空,获取两者间的字符串,如www.cmfu.com
nameID1不空,nameID2为空,获取末尾起第一个nameID1后的字符串,如www.17k.com
目录页面内容处理,分析目录页面来获取各章节的链接和名称,以及相应卷集的名称
ListIsUrl=设置以下获取的目录内容是否是链接,值不为空时是链接,如wx.okxr.com的目录内容就是链接
listID1=目录内容的起始识别字符串
listID2=目录内容的结尾识别字符串
urlPID1=章节链接的起始识别字符串,结果对应前面的nameID处理结果
urlPID2=章节链接的结尾识别字符串,结果对应前面的nameID处理结果
VolumeID1=卷或集名称的起始识别字符串,没有卷集时可为空
VolumeID2=卷或集名称的结尾识别字符串,没有卷集时可为空
ChapterID1=章节名称的起始识别字符串
ChapterID2=章节名称的结尾识别字符串
titleID1=文章名称的起始识别字符串
titleID2=文章名称的结尾识别字符串
authorID1=作者名称的起始识别字符串
authorID2=作者名称的结尾识别字符串
文章章节页面处理,通过字符串识别获取正文内容并作相应处理
TextIsUrl=设置以下获取的正文内容是否是链接,值不为空时是链接,如www.cmfu.com的正文内容就是链接
textID1=正文内容起始识别字符串
textID2=正文内容结尾识别字符串
tdelID1=待删除内容的起始字符串,如晋江原创里面的乱码
tdelID2=待删除内容的结尾字符串,如晋江原创里面的乱码
TestID=文章里面需要替换的文字,格式请参考复制原始配置文件里面的设置
当 HandleID= 不为空时,通过顺序处理页面来获取文章的内容
urlTID、nameID、ListIsUrl、listID等参数均为空,urlPID参数说明如下,其他参数说明同上,只不过这个是从当前页获取而已。
urlPID1=下一页链接的起始识别字符串
urlPID2=下一页链接的结尾识别字符串
该参数有2种情况:
urlPID1和urlPID2均不空,获取两者间的字符串作为下一页链接
urlPID1不空,urlPID2为空,获取urlPID1前的链接作为下一页
==========================================

当然,这个是1.X版的,现在这个版本已经无法抓取起点的小说了,需要用到2.X才可以,不过2.X好像无法在ie7下面工作,请各位看官注意拉

类似的软件还有一个挺不错的,就是小说下载阅读器,官网地址是
http://www.chinacitysoft.com/book/news.htm

(2)、拿来主义

上面的这些都是自己动手的,还有另一种就是反编译别人的图书,拿来主义就是这么来的

反编译图书的方法就比较多了,针对不同的打包软件,可能需要不同的反编译方法

不过由于现在大多数的电子书都是基于ie内核的,所以方法还是有一些共性的

在这方面,老马就做成了KillEBook、IECracker等重量级的,不过由于一些原因,他就放出来几个阉割版

miniKillEBook、UnEBook、CtrlN

不过我们通过这些工具的配合,已经能应付很多电子书了

软件可以到官网去下载

http://www.comicer.com/stronghorse/index.htm

还有一个不能不提的就是啊CR/FTSTT,一般都称呼为啊CR,他的产量也很高,作品有修复电子书的,反编译ebookedit、ebookworkshop等电子书的软件,当然还有一个很有用的工具,就是Un-eBook Pack Express,一般用miniKillEBook对付不了时候,我都会想起他

啊CR一般都能在一蓑烟雨或者看雪找到

一蓑烟雨:http://www.unpack.cn/
看雪:http://bbs.pediy.com/

虽然一般的电子书,miniKillEBook都可以搞定,那我们这里就不多说了,就说下那些他对付不了的好了

一般这些对付不了图书,都是用js命令来调用章节文件的,所以不能被miniKillEBook检测到,所以他没办法反编译到

这个时候就要Un-eBook Pack Express出场了不过他也只能是半自动的获取文本,每打开一个页面,就抓取一次

如果是页面有键盘翻页脚本的,可以用-->来翻页的,那么我们可以用键盘精灵等软件来写个小脚本

如果没有键盘翻页脚本,就需要我们能确定他们的下一页按钮在哪拉,这个时候的按键精力脚本就比较麻烦

顺便说一下,在早期Un-eBook Pack Express还没出来时候,我也有办法,就是用TLPDB配合按键精灵来抓取图书

TLPDB有个特别的功能,对于ie内核的电子书,都能插入一个hook,能获取当前页面的文字,记得获取多个页面时候,要将TLPDB最小化

这些反编译成的txt文件可能都是分章节的,这个时候就需要老马的TextForever出马了,这个软件在文件合并,批量替换等方面有很高的效率,推荐之

【五、总结】

上面这些就是产生一个规范的txt小说文件的一般步骤,所用到的软件比较多,不知道哪位高人开发出一个方便的反编译电子书软件分享出来,也方便书迷的阅读需求

所以可能需要用到的软件总结如下:

emeditor、文件整理器(或者DreamEdit)、网络取书、小说下载阅读器、miniKillEBook、UnEBook(或者html help studio或者ChmDecompiler)、CtrlN、修改版的unEbookEdit、、Un-eBook Pack Express、TLPDB、按键精灵、TextForever
  评论这张
 
阅读(2172)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016