一部章回小说从网上下载到离线阅读的整理过程
最近,我用java小说爬取工具从网上下载了一部名叫《天下》的长篇历史小说。这部小分共分七百一十章。我把它保存为test.txt,图片保存为tianxia.bmp。
从网上下载的小说,往往编排不规范,需要重新进行编排。下面以这部小说为例,谈谈我对它的整理过程。
1、删除空行。
打开排版助手,点“文件”/“打开”,打开test.txt,点“执行”命令,开始整理段落,我将整理后的文本保存为test001.txt,截图保存为tianxia001.bmp。
2、删除多余的网址“www.lingdiankanshu.com”。
打开EmEditor,点“搜索”/“替换”,在“查找”里输入“www.lingdiankanshu.com”,在“替换为”里无输入,勾选“使用正则表达式”和“匹配整个单词”前面的复选框,点“全部替换”,文本中多余的网址全部被删除。删除后的文本保存为test002.txt,截图保存为tianxia002.bmp。
3、删除多余的字符串“*****”。
打开EmEditor,点“搜索”/“替换”,在“查找”里输入“*****”,在“替换为”里输入“
”,勾选“使用转义序列”前面的复选框,点“全部替换”,记事本提示已替换52936个字符。替换后的文本保存为test003.txt,截图保存为tianxia003.bmp。
4、替换转义符“
”,。
打开test003.txt,点“搜索”/“替换”,在“查找”里输入“
”,在“替换为”里输入“\n ”,勾选“使用正则表达式”前面的复选框,点“全部替换”,记事本提示已替换52936个字符。替换后的文本保存为test004.txt,截图保存为tianxia004.bmp。
5、删除“正文”二字。
打开test004.txt,点“搜索”/“替换”,在“查找”里输入“ 正文 第”,在“替换为”里输入“第”,勾选“使用正则表达式”和“匹配整个单词”前面的复选框,点“全部替换”,记事本提示已替换706个字符。替换后的文本保存为test005.txt,截图保存为tianxia005.bmp。
6、删除各章题前的“第”字。
打开test005.txt,点“搜索”/“替换”,在“查找”里输入“ 第”,在“替换为”里输入“第”,勾选“使用正则表达式”和“匹配整个单词”前面的复选框,点“全部替换”,记事本提示已替换629个字符,各章标题行已无空格,全部左对齐。替换后的文本保存为test006.txt,截图保存为tianxia006.bmp。
7、在各章标题行空格处添加“zhang”字符串。
打开test006.txt,点“搜索”/“替换”,在“查找”里输入“章”,在“替换为”里输入“章 zhang”,勾选“使用正则表达式”和“匹配整个单词”前面的复选框,点“全部替换”,记事本提示已替换的字符串数。替换后的文本保存为test007.txt,截图保存为tianxia007.bmp。
8、删除各章标题中的“zhang”。
打开test007.txt,点“搜索”/“替换”,在“查找”里输入“([^a-z]) +([a-z])”,在“替换为”里输入“\1\r\2”,勾选“使用正则表达式”前面的复选框,点“全部替换”,记事本提示已替换1527个字符串。替换后的文本保存为test008.txt,截图保存为tianxia008.bmp。
9、删除“zhang”后面的空格。
打开test008.txt,点“搜索”/“替换”,在“查找”里输入“zhang\s*”,在“替换为”里输入“zhang”,勾选“使用正则表达式”和“匹配整个单词”前面的复选框,点“全部替换”,记事本提示已替换1214个字符串。替换后的文本保存为test009.txt,截图保存为tianxia009.bmp。
10、删除“zhang”后面的空格。
打开test009.txt,点“搜索”/“替换”,在“查找”里输入“zhang”,在“替换为”里输入“”,勾选“使用正则表达式”和“匹配整个单词”前面的复选框,点“全部替换”,记事本提示已替换的字符串数。替换后的文本保存为test010.txt,截图保存为tianxia010.bmp。
11、删除内容重复的标题行。
在PilotEdit中,打开test010.txt,点选“排序和查找/删除重复的行”,在弹出的“排序和查找/删除重复的行”对话框中点“删除重复的行”按钮,内容重复的标题行即被合并为一个标题行。合并标题后的文本保存为test011.txt,截图保存为tianxia011.bmp。
12、提取目录。
打开F:\mulu001文件夹,将test011.txt复制到F:\mulu001根目录下,并重新将其命名为shenmu.txt。运行“test.bat”,java这个目录提取工具开始从shenmu.txt文本里把小说各个章节的题目提取到cmd界面,然后通过复制粘贴,将提取的目录保存为test012.txt。
13、将提取的目录制作成cnt格式的目录文件。
打开“test012.txt”,删除与目录无关的行,选择“文件”中的另存为,在文件名称里输入“天下.cnt”,点保存即可。
14、在各章节标题前添加##字符串。
运行EmEditor,打开test011.txt,点“搜索”/“替换”,在“查找”里输入“第.+[章]\s\n”,在“替换为”里输入“##\0”,勾选“使用正则表达式”前面的复选框,点“全部替换”,记事本中各章节标题前已添加了##字符串。替换后的文本保存为test015.txt,截图保存为tianxia015.bmp。
15、删除##,将“##”替换为分隔符。
打开test015.txt,点“搜索”/“替换”,在“查找”里输入“##”,在“替换为”里输入“*\n(无注释)\n*\n”,勾选“使用正则表达式”前面的复选框,点“全部替换”,记事本中各章节标题前已分三行分别添加了“*”、“(无注释)”、“*”为一组的字符串。替换后的文本保存为test016.txt,截图保存为tianxia016.bmp。
16、开始分章阅读。
复制“天下.cnt”和test016.txt到“D:\武臣文苑\电子书\分章阅读”文件夹,并将test016.txt重新命名为“天下.txt”。运行电子书,打开目录,左边“目录”列表框里弹出所选各章目录,右边“内容”文本框里弹出所选章节内容。
17、检测目录和内容。
有时,左边的所选目录与右边的内容名不符实,一是需要打开小说目录文件重新添加或删除目录,二是需要打开小说文本重新添加或删除文本中的分隔符。从头到尾,只要目录、内容、(无注释)三对应,整理工作即为成功。