diff --git a/monsters-info/extract_CHT.js b/monsters-info/extract_CHT.js
index dfd7a314..784a12cd 100644
--- a/monsters-info/extract_CHT.js
+++ b/monsters-info/extract_CHT.js
@@ -3,46 +3,57 @@ var sourceFolder = "Download-pad.skyozora.com/pad.skyozora.com";
var outJSON = "custom/CHT.json";
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 = /
\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 = /\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 + " 个名称---");
- })
- }
-});
\ No newline at end of file
+ });
+ 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 + " 个名称---");
+ })
+ }
+ });
+})
+