| @@ -3,46 +3,57 @@ var sourceFolder = "Download-pad.skyozora.com/pad.skyozora.com"; | |||||
| var outJSON = "custom/CHT.json"; | var outJSON = "custom/CHT.json"; | ||||
| var path = require('path');//解析需要遍历的文件夹 | var path = require('path');//解析需要遍历的文件夹 | ||||
| //根据文件路径读取文件,返回文件列表 | |||||
| fs.readdir(sourceFolder,function(err,files){ | |||||
| if(err){ | |||||
| console.warn(err); | |||||
| }else{ | |||||
| //遍历读取到的文件列表 | |||||
| var monArr = []; | |||||
| files.forEach(function(filename){ | |||||
| var searchID = /^(\d+)\.html$/i.exec(filename); | |||||
| if (searchID) | |||||
| { | |||||
| var filepath = path.join(sourceFolder, filename);//合并当前文件的路径 | |||||
| var htmlText = fs.readFileSync(filepath, 'utf-8'); //使用同步读取 | |||||
| var searchName = /<h2 .+>\s*?([\s\S]+)\s*?<\/h2>/igm.exec(htmlText); | |||||
| try | |||||
| fs.access(outJSON,function(err){ | |||||
| var monArr; | |||||
| if (err) | |||||
| { | |||||
| monArr = []; | |||||
| }else | |||||
| { | |||||
| var monArr = JSON.parse(fs.readFileSync(outJSON, 'utf-8'));//读取繁体中文数据避免重复工作 | |||||
| } | |||||
| //根据文件路径读取文件,返回文件列表 | |||||
| fs.readdir(sourceFolder,function(err,files){ | |||||
| if(err){ | |||||
| console.warn(err); | |||||
| }else{ | |||||
| //遍历读取到的文件列表 | |||||
| files.forEach(function(filename){ | |||||
| var searchID = /^(\d+)\.html$/i.exec(filename); | |||||
| if (searchID && !monArr.some(function(cn){return cn.id == searchID[1];})) | |||||
| { | { | ||||
| var m = { | |||||
| id:searchID[1], | |||||
| name:searchName[1].replace("\n",""), | |||||
| } | |||||
| monArr.push(m); | |||||
| if (monArr.length % 100 == 0) | |||||
| var filepath = path.join(sourceFolder, filename);//合并当前文件的路径 | |||||
| var htmlText = fs.readFileSync(filepath, 'utf-8'); //使用同步读取 | |||||
| var searchName = /<h2 .+>\s*?([\s\S]+)\s*?<\/h2>/igm.exec(htmlText); | |||||
| try | |||||
| { | |||||
| var m = { | |||||
| id:searchID[1], | |||||
| name:searchName[1].replace("\n",""), | |||||
| } | |||||
| monArr.push(m); | |||||
| if (monArr.length % 100 == 0) | |||||
| { | |||||
| console.log("已添加 " + monArr.length + " 个数据"); | |||||
| } | |||||
| }catch(e) | |||||
| { | { | ||||
| console.log("已读取 " + monArr.length + " 个网页"); | |||||
| console.log(filename,e) | |||||
| } | } | ||||
| }catch(e) | |||||
| { | |||||
| console.log(filename,e) | |||||
| } | } | ||||
| } | |||||
| }); | |||||
| monArr.sort(function(a,b){ | |||||
| return a.id - b.id; | |||||
| }) | |||||
| var str = JSON.stringify(monArr); | |||||
| fs.writeFile(outJSON,str,function(err){ | |||||
| if(err){ | |||||
| console.error(err); | |||||
| } | |||||
| console.log("---繁体中文导出成功,共 " + monArr.length + " 个名称---"); | |||||
| }) | |||||
| } | |||||
| }); | |||||
| }); | |||||
| monArr.sort(function(a,b){ | |||||
| return a.id - b.id; | |||||
| }) | |||||
| var str = JSON.stringify(monArr); | |||||
| fs.writeFile(outJSON,str,function(err){ | |||||
| if(err){ | |||||
| console.error(err); | |||||
| } | |||||
| console.log("---繁体中文导出成功,共 " + monArr.length + " 个名称---"); | |||||
| }) | |||||
| } | |||||
| }); | |||||
| }) | |||||