Board logo

标题: [网络工具] 【原创】迅读网小说分类下载器[20120831] [打印本页]

作者: namejm    时间: 2012-8-20 23:45     标题: 【原创】迅读网小说分类下载器[20120831]

本帖最后由 namejm 于 2012-8-31 23:21 编辑

这是业余时间帮别人写的一个代码,想到可能有人用得着,就公布出来吧。
  偷个懒,介绍神马的直接copy使用说明中的内容
功能:
  批量整理迅读网(http://www.xunread.com)上的小说
特色:
  1. 能以3种方式整理小说:整理单本小说、根据url配置文件批量整理、按类别批量整理
  2. 支持断点续传、支持增量下载

主文件:
  迅读网小说分类下载器.cmd
配置文件:
  小说分类配置.ini----------按分类批量下载时必须
  小说url配置.ini-----------根据配置文件下载指定的小说时必须
依赖文件:
  gawk.exe:用于整理小说信息列表、整理正文内容、更新下载日志等环节
  axel.exe:强悍的网络下载工具,号称命令行版本的迅雷。需要文件 cygwin1.dll 的支持。
  提取小说列表总页码.awk:统计待下载的小说列表页面的总页码数量
  整理小说信息列表.awk:整理出小说信息列表,后续的所有操作都严重依赖这张表,包含 小说唯一标志符、小说名、已下载的初始章节(默认为0)、作者、分类、是否为全文 等字段,主要用于按分类批量整理小说
  提取单个小说标题_作者_分类.awk:提取单个小说标题、作者和分类,用于下载单本小说或者根据小说url列表下载小说的下载正文阶段
  提取各章节url.awk:获取每篇小说各章节正文页面的下载地址
  提取单个小说已完成章节信息.awk:在 下载单个小说文本 或者 根据url下载列表下载小说 的模式下获取已经处理完毕的章节信息,以便能够断点续传
  整理正文.awk:提取网页文件中的正文文字,整理成文本格式文件
  更新下载日志.awk:当使用增量下载模式时,把以前曾经下载过/提取过正文的日志记录更新为最后一次的数据,用于下载正文页面或提取正文内容两个环节
  提取新增加的小说信息.awk:提取新增加的小说信息列表,含新增加的小说和旧有小说的新增加章节两部分,用于增量下载模式
其他文件:
  使用说明.txt(本文件)
  更新历史.txt

使用方法:
  把所有文件释放到同一目录下,然后运行 cmd 文件,按照提示进行操作。
  另外,还可以把exe文件及其配套的dll文件放到任一 %path% 目录下,但是,cmd文件和awk文件必须在同一目录下。
  
程序运行大致流程:
  ① 全新下载模式下:选择相应的下载类别之后,若是按分类批量下载,则程序开始下载该类别所有小说的列表页面,然后获取每篇小说的目录页面(index.html),根据目录页面下载具体章节的正文页面,最后,根据正文页面整理出文本格式的小说文件,每个步骤的操作都写入相应的下载日志文件;若是单本下载、或者按照url列表下载,则直接跳转到获取小说的目录页面(index.html)这个步骤,后续步骤与按分类批量下载相同;
  ② 增量下载模式下:若是按分类批量下载,则全新下载该类别所有小说的列表页面,然后获取每篇小说的目录页面(index.html),整理出当前的小说列表信息,与上次成功下载/整理的小说列表信息做比较,把上次已经操作过的数据更新到当前小说列表信息文件中,本次操作将只处理新增加的小说及旧有小说中新增加的章节;若不是按分类进行处理的模式,处理过程基本一致,只是操作的对象变成单个小说(按url列表下载N个小说的模式分解成一次只处理一个文件,循环N次处理完毕);
  ③ 断点续传模式下:读取上次的下载进度,找到续传点,接着下载/整理后续部分

注意事项:
  ① 本程序支持断点续传,您可以随时终止程序,而无需担心下次会重复/遗漏数据;
  ② 本程序支持增量下载,您可以在将来的任意时间里下载/整理新增加的小说,无需重复处理已有的数据;
  ③ "断点续传" 和 "增量下载" 极度依赖下载日志文件,若您需要使用这两个功能,请务必保证下载日志的完整性,切勿随意编辑日志文件;若缺少下载日志文件,有可能以全新下载模式处理数据,会导致重复下载、重复整理;
  ④ 您可以指定下载时的线程数,在主程序 cmd 文件中修改 threads 的具体值即可(在程序的"初始化全局变量"部分修改),默认为 3 线程,不过html文件较小,调整该参数似乎没有什么效果;您也可以修改下载失败时的重试次数,调整 set "retryTimes=5" 中的数字即可,默认重试5次;
  ⑤ 每个类别的正文内容保存在 contentFolder 文件夹下单独的文件夹中,以各分类名为文件夹名,再在各类别文件夹创建以"小说名_作者名"为名称的文件夹,在这个文件夹下保存该小说的目录页面文件(index.html)和所有的正文页面文件(1.html、2.html……N.html),该小说的整理结果保存在与该"小说名_作者名"文件夹相同的目录下,并且与文件夹名称相同;也会按照这样的规则创建文件。
  ⑥ 在程序运行过程中,会在LOG目录下生成以 .log 和 .txt 为后缀的文件,这些文件保存这当前的下载进度信息,是断点续传及增量下载功能的依据,切勿随意编辑。
  ⑦ 您可以根据配置文件"小说url配置.ini"中的说明随时增减小说url条目,条目数量不限;
  ⑧ 仅在Win7简体中文旗舰版下测试,理论上支持XP及其之后的系统


Code by namejm 20120812~20120820
20120831
        * 修正了按小说分类配置文件中的分类批量下载小说时,无论选择哪个类别,实际上下载的都是配置文件中最后一个类别的bug

20120823
        * 修正了一个因为标题处理不当导致小说下载失败的bug

20120820
        放出第一个较完善的版本

20120812
        开始构思脚本

  下载地址:http://dl.vmall.com/c05mwg62rv
作者: plp626    时间: 2012-8-22 13:13

不错, 收藏下。。
作者: hlzj88    时间: 2012-11-5 20:50

谢谢 下书看很方便
作者: 狱渊    时间: 2013-12-14 15:47

多谢分享!!!




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2