【转贴】一个规范的txt小说文件是怎么产生的_派派后花园

用户中心 游戏论坛 社区服务
发帖 回复
阅读:7574 回复:15

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

刷新数据 楼层直达
wch517

ZxID:768747

等级: 派派贵宾
小七
举报 只看楼主 使用道具 楼主   发表于: 2008-10-21 0

*/ -----------------------------------------------------------------------------------------
*/ 标题: 【原创】一个规范的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+$,替换为空
接着在行前添加两个全角空格,即^替换为  (里面是两个全角空格)
当然这些都可以保存为宏命令,方便以后的调用
而当要编辑卷集章节时候,都可以用命令来做
比如章节用^(  第.*集.*第.*章.+),就可以随便的在章的前后加两个空行了,只要替换为n1n就可以了
具体的应用可以参照一些正则表达式的资料
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
[ 此贴被wch517在2008-10-21 17:48重新编辑 ]
xigedelutai

ZxID:1680551


等级: 文学之神
(。・`ω′・)
举报 只看该作者 沙发   发表于: 2008-10-21 0
这是什么个意思

·····································这颜色晃眼睛= =
All that we see or seem is but a dream within a dream
星城苍狼

ZxID:2158271

等级: 派派新人
举报 只看该作者 板凳   发表于: 2008-10-23 0
一个规范的txt小说文件是怎么产生的

上楼的朋友没看懂吗?

我是学习了。
loveyymorio

ZxID:397837

等级: 小有名气
超脱而不洒脱。。。
举报 只看该作者 地板   发表于: 2008-12-14 0
好专业啊,顶顶~~
smcjxiou

ZxID:353501

等级: 派派新人
举报 只看该作者 4楼  发表于: 2009-02-18 0
- -  感觉好复杂啊..
eascd

ZxID:430186

等级: 派派新人
举报 只看该作者 5楼  发表于: 2009-02-19 0
好难明呀。为什么我看了两遍还是不明的
云中泥8712

ZxID:7998575

等级: 读书识字
举报 只看该作者 6楼  发表于: 2009-07-14 0
汗,涉及到编程了,很好很强大!!!
rose8822

ZxID:6882241

等级: 脱颖而出
举报 只看该作者 7楼  发表于: 2009-07-14 0
汗,看着就头晕。。。
rose8822

ZxID:6882241

等级: 脱颖而出
举报 只看该作者 8楼  发表于: 2009-07-14 0
汗,看着就好头晕啊
天堂的小木匠

ZxID:7352182

等级: 寒窗墨者
举报 只看该作者 9楼  发表于: 2009-07-14 0
应该给做TXT小说的人看 嘿嘿
asyingyi09

ZxID:6914402

等级: 读书识字
举报 只看该作者 10楼  发表于: 2009-07-15 0
没太明白什么意思
栗色

ZxID:8094820

等级: 读书识字
举报 只看该作者 11楼  发表于: 2009-07-17 0
仰望啊
幻紫冰玲

ZxID:2156186

等级: 寒窗墨者
举报 只看该作者 12楼  发表于: 2009-07-19 0
呃……那个……说实话,我没看懂……
fs8456

ZxID:5645156


等级: 寒窗墨者
逃離
举报 只看该作者 13楼  发表于: 2009-07-19 0
阿斯顿发



淡舞亦倾城

ZxID:7683184


等级: 热心会员
书荒
举报 只看该作者 14楼  发表于: 2010-01-29 0
?????
不懂啊
一个比较行的女的
七只皮箱

ZxID:14044407

等级: 略有小成
举报 只看该作者 15楼  发表于: 2012-12-26 0
我一直 在想如何能把文本中常用的logo给替代了,我收藏研究了
发帖 回复