下载爱看小说网(https://www.aikantxt.la/)的小说,并将下载的文本转换成音频文件,使用了精易模块、elss的HTML解析模块
源码.e
(856.9 KB, 下载次数: 21)
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 集_章节 | 章节 | 0 | 集_路径 | 文本型 | | 获取章节清单 (编辑框_目录地址.内容, 集_章节 ) 如果 (取数组成员数 (集_章节 ) > 0 ) 章节到选择列表框 () 信息框 (“未能获取到章节信息”, 0, , ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | i | 整数型 | | | elss | Elss_EX_Doc | | | html | 文本型 | | | nodes | Elss_EX_Doc | | | 临时章节 | 章节 | | | id | 文本型 | | 0 |
html = 功能_获取章节HTML (url )数组清零 (章节清单 ) 如果真 (elss. load_ex (html ))  nodes = elss. Find_ex (“#list>dl>dd>a”) 进度条1.最大位置 = nodes. Length () 计次循环首 (nodes. Length (), i )  临时章节.name = nodes. Get (i - 1 ). Text (假)  id = 分割文本 (文本_替换 (nodes. Get (i - 1 ). Attr (“href”), , , , “/aikan”, “”, “.html”, “”), “/”, )  临时章节.nbid = id [1 ]  临时章节.crid = id [2 ]  如果真 (功能_章节重复检测 (章节清单, 临时章节 ))   加入成员 (章节清单, 临时章节 )    处理事件 ()  进度条1.位置 = i  计次循环尾 () 计次循环首 (取数组成员数 (章节数组 ), i ) 如果真 (章节数组 [i ].crid = 章节.crid ) 返回 (假)  计次循环尾 ()返回 (真)变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_方式 | 整数型 | | | ADD_协yi头 | 类_POSTxx类 | | | 局_提交协yi头 | 文本型 | | | 局_结果 | 字节集 | | | 局_返回 | 文本型 | | |
局_方式 = 0 ADD_协yi头. 添加 (“User-Agent”, “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36”)局_提交协yi头 = ADD_协yi头. 获取协yi头xx ()网页_访问S (网址, 局_方式, , , , 局_提交协yi头, , , , , , , , , , , 局_结果, , , , )局_返回 = 到文本 (局_结果 )返回 (局_返回 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_网址 | 文本型 | | | 局_方式 | 整数型 | | | ADD_xx包 | 类_POSTxx类 | | | 局_提交xx | 文本型 | | | ADD_协yi头 | 类_POSTxx类 | | | 局_提交协yi头 | 文本型 | | | 局_章节内容 | 文本型 | | | 局_计次 | 整数型 | | | 局_文本文件号 | 整数型 | | | 局_路径 | 文本型 | | |
局_网址 = “https://www.aikantxt.la/content.php”局_方式 = 1 ADD_协yi头. 添加 (“User-Agent”, “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36”)局_提交协yi头 = ADD_协yi头. 获取协yi头xx () 如果 (集_路径 ≠ “”) 局_路径 = 集_路径  局_路径 = 取运行目录 ()进度条1.最大位置 = 取数组成员数 (章节清单) 计次循环首 (取数组成员数 (章节清单 ), 局_计次 ) ADD_xx包. 添加 (“nbid”, 章节清单 [局_计次 ].nbid ) ADD_xx包. 添加 (“crid”, 章节清单 [局_计次 ].crid ) ADD_xx包. 添加 (“fid”, “”) 局_提交xx = ADD_xx包. 获取Postxx () 局_章节内容 = 文本_替换 (到文本 (网页_访问 (局_网址, 局_方式, 局_提交xx, , , 局_提交协yi头, , , , , )), , , , “ ”, “”, “ ”, #换行符, “:/”, “”, “电脑端:/”, “”)  局_文本文件号 = 打开文件 (局_路径 + “\文本\” + 章节清单 [局_计次 ].name + “.txt”, #重写, 1 ) 写出文本 (局_文本文件号, 局_章节内容 ) 关闭文件 (局_文本文件号 ) 输出调试文本 (“文本下载完成,开始下载音频”) 如果真 (选择框1.选中 = 真) 功能_朗读文本Ex (局_章节内容, 章节清单 [局_计次 ].name + “.mp3”, 局_路径 + “\音频\”)  处理事件 () 进度条1.位置 = 局_计次 计次循环尾 ()|
功能_朗读文本Ex | | | |
朗读文本 | 文本型 | | | | 保存音频文件名 | 文本型 | | | | 保存文件路径 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_朗读内容 | 文本型 | | | 局_接口地址 | 文本型 | | | 局_朗读文件 | 字节集 | | | 局_临时文件 | 文本型 | | | 局_保存结果 | 逻辑型 | | | 局_文本段 | 文本型 | | 0 | 局_计次 | 整数型 | | | 局_录音文件段 | 文本型 | | 0 | 功能_按长度分割文本 (朗读文本, 局_文本段, 300 ) 计次循环首 (取数组成员数 (局_文本段 ), 局_计次 ) 局_朗读内容 = 编码_URL编码 (局_文本段 [局_计次 ], , 真) 局_接口地址 = “http://fanyi.baidu.com/gettts?lan=zh&text=” + 局_朗读内容  局_朗读文件 = 网页_访问_对象 (局_接口地址 ) 局_临时文件 = 目录_取临时目录 () + 校验_取md5 (到字节集 (局_朗读文件 )) + “.mp3” 写到文件 (局_临时文件, 局_朗读文件 ) 输出调试文本 (局_临时文件 ) 处理事件 () 加入成员 (局_录音文件段, 局_临时文件 ) 计次循环尾 () 如果 (取数组成员数 (局_录音文件段 ) > 1 ) 文件_复制 (局_录音文件段 [1 ], 保存文件路径 + 保存音频文件名, ) 计次循环首 (取数组成员数 (局_录音文件段 ) - 1, 局_计次 ) 文件_合并文件 (保存文件路径 + 保存音频文件名, 局_录音文件段 [局_计次 + 1 ], ) 计次循环尾 () 文件_复制 (局_录音文件段 [1 ], 保存文件路径 + 保存音频文件名, ) |
功能_按长度分割文本 | | | |
参_内容 | 文本型 | | | | 参_文本数组 | 文本型 | | | | 参_分割长度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_内容 | 文本型 | | | 局_计数器 | 整数型 | | |
局_内容 = 文本_删除空行 (参_内容 )局_内容 = 文本_替换 (局_内容, , , , #换行符, “”)局_内容 = 文本_折行 (局_内容, 参_分割长度, 真, 真, ) 计次循环首 (文本_取行数 (局_内容 ), 局_计数器 ) 加入成员 (参_文本数组, 文本_取指定变量文本行 (局_内容, 局_计数器 )) 计次循环尾 () 计次循环首 (取数组成员数 (集_章节 ), 局_计次 ) 选择列表框_章节. 加入项目 (集_章节 [局_计次 ].name, 局_计次 ) 计次循环尾 () 计次循环首 (选择列表框_章节. 取项目数 (), 局_计次 ) 选择列表框_章节. 选中项目 (局_计次 - 1, 真) 计次循环尾 () 计次循环首 (选择列表框_章节. 取项目数 (), 局_计次 ) 选择列表框_章节. 选中项目 (局_计次 - 1, 假) 计次循环尾 () 计次循环首 (选择列表框_章节. 取项目数 (), 局_计次 ) 选择列表框_章节. 选中项目 (局_计次 - 1, 取反 (选择列表框_章节. 是否被选中 (局_计次 - 1 )) ) 计次循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_计次 | 整数型 | | | 局_下载 | 章节 | | 0 | 局_临时章节 | 章节 | | |
如果 (集_路径 ≠ “”) 计次循环首 (选择列表框_章节. 取项目数 (), 局_计次 )  如果真 (选择列表框_章节. 是否被选中 (局_计次 - 1 ) = 真)   局_临时章节 = 集_章节 [局_计次 ]  加入成员 (局_下载, 局_临时章节 )    计次循环尾 () 如果 (取数组成员数 (局_下载 ) > 0 ) 输出调试文本 (到文本 (取数组成员数 (局_下载 )) ) 下载章节 (局_下载 ) 信息框 (“未选中下载项”, 0, , )   信息框 (“未选选择保存路径”, 0, , ) 集_路径 = 浏览文件夹 (“选择保存路径”, )目录_创建 (集_路径 + “\文本”)目录_创建 (集_路径 + “\音频”)输出调试文本 (集_路径 )
|