【nodejs】理想論壇帖子下載爬蟲1.08

//======================================================
// 理想論壇帖子下載爬蟲1.09
// 使用斷點續傳模式,由於網絡傳輸會因各類緣由中斷
// 2018年5月4日
//======================================================
var http=require("http");            // http模塊
var zlib = require('zlib');            // 用於解析gzip網頁
var fs=require('fs');                // 文件處理模塊
var iconv = require('iconv-lite');    // 用於轉碼。
var cheerio = require("cheerio");    // 用於從HTML中以相似jquery方式查找目標
var async=require('async');            // 用於異步流程控制
var EventProxy = require('eventproxy');// 用來控制併發
var BufferHelper = require('bufferhelper');// 用於拼接chunk

//--- 下面爲全局變量 ---
var folder;// 存文件的目錄
var topics=[]; // 帖子數組
var finalTopics=[];// 全部帖子加子貼的最終數組
var failedTopics=[]; // # 失敗的帖子數組

//-------------------------------
// 用於建立目錄
//-------------------------------
function createFolder(){
    console.log('準備建立目錄');

    folder=currDateTime();
    fs.mkdir('./'+folder,function(err){
        if(err){
            console.log("目錄"+folder+"建立失敗,由於"+err);
        }else{
            console.log("目錄"+folder+"已建立");
        }
    });
}

//-------------------------------
// 瀏覽頁面找主貼
// start:開始頁,end:結束頁
//-------------------------------
function findTopics(start,end){
    console.log('準備從如下頁面尋找主貼');

    for(var i=start;i<=end;i++){        
        pageUrl='http://www.55188.com/forum-8-'+i+'.html'
        findTopicsInPage(pageUrl);
    }
}

//-------------------------------
// 找到每一個論壇頁中的帖子
// pageUrl:論壇頁的地址
//-------------------------------
function findTopicsInPage(pageUrl){
    console.log("page="+pageUrl);

    var currUrl=pageUrl.replace("http://","");
    var pos=currUrl.indexOf("/");
    var hostname=currUrl.slice(0,pos);    
    var path=currUrl.slice(pos);    
    pos=currUrl.lastIndexOf("/");
    var dir="http://"+currUrl.slice(0,pos);            
    
    var options={
        hostname:hostname,
            port:80,
            path:path,
          method:'GET',        
    };    

    var req=http.request(options,function(resp){
        var html = [];

        resp.on("data", function(data) {
            html.push(data);
        })
        resp.on("end", function() {
            var buffer = Buffer.concat(html);

            var body = iconv.decode(buffer,'gb2312');
            var $ = cheerio.load(body);            

            $("tbody").each(function(index,element){
                var $tbody=cheerio.load($(element).html());

                var topic={};
                topic.pageCount=1;
                topic.url=null;
                topic.title=null;

                $tbody(".forumdisplay a").each(function(index,element){                
                    var topicUrl='http://www.55188.com/'+$tbody(element).attr("href");
                    var topicTitle=$tbody(element).text();

                    topic.url=topicUrl
                    topic.title=topicTitle;                        
                })

                $tbody(".threadpages").each(function(index,element){
                    topic.pageCount=$tbody(element).children().last().text();
                })
                
                if(topic.url!=null && topic.title!=null){
                    topics.push(topic);    
                }
            })  
        }).on("error", function(err) {
            console.log("findTopicsInPage函數請求後獲取響應時出現異常"+err);
        })
    });

    // 超時處理
    req.setTimeout(7500,function(){
        req.abort();
    });

    // 出錯處理
    req.on('error',function(err){
        console.log('findTopicsInPage函數請求時發生錯誤'+err);  
    });

    // 請求結束
    req.end();    
}

//-------------------------------
// 保存每一個帖子到文件,完成一個遞歸調本身一次
// Nodejs特殊的回調處理使循環遞歸化
//-------------------------------
function saveTopicDetails(){
    if(finalTopics.length>0){
        var topic=finalTopics.pop();

        var request = require('request');
        var req = request(topic.url, {timeout: 10000, pool: false});
        req.setMaxListeners(50);
        req.setHeader('user-agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36');

        req.on('error', function(err) {
            var text=nowTime()+"saveTopicDetails函數請求時出現異常"+err+'\n';
            text+=nowTime()+" url="+topic.url+'\n';
            text+=nowTime()+" title="+topic.title+'\n';
            text+=nowTime()+" index="+topic.index+'\n';
            console.log(coloredText(text,'red'));
            ///
            failedTopics.push(topic);
            saveTopicDetails();//出錯後依舊遞歸
        });
        req.on('response', function(res) {
            var bufferHelper = new BufferHelper();
            res.on('data', function (chunk) {
                bufferHelper.concat(chunk);
            });
            res.on('end',function(){
                var body = iconv.decode(bufferHelper.toBuffer(),'GBK');

                var infos= getInfosFrom(body,topic);

                if(infos.length>0){
                    filename='./'+folder+'/'+topic.index+'.json';
                    saveInfosTo(filename,infos,topic);
                }

                if(topic.index % 50==0){
                    console.log(coloredText(nowTime()+'處理到第'+topic.index+'個文件','green'));//讓控制檯出點動靜
                    
                    var savefilename="./save.dat"
                    var saveData={'folder':folder,'finalTopics':finalTopics,'failedTopics':failedTopics}

                    fs.writeFile(savefilename,JSON.stringify(saveData),function(err){
                        if(err){
                            console.log(coloredText(nowTime()+'在函數saveInfosTo中寫入文件'+savefilename+'失敗,由於'+err,'red'));
                        }
                    });
                }

                saveTopicDetails();//一個帖子完成,遞歸一次
            });
        })
    }
}

//-------------------------------
// 把內容數組保存到文件
// filename:文件名,infos:內容數組,topic:帖子
//-------------------------------
function saveInfosTo(filename,infos,topic){
    fs.writeFile(filename,JSON.stringify(infos),function(err){
        if(err){
            console.log(coloredText(nowTime()+'在函數saveInfosTo中寫入文件'+filename+'失敗,由於'+err,'red'));
        }
    });

    // 判斷文件是否存在
    /*fs.exists(filename,function(exists){
        if(exists){
            console.log(coloredText(nowTime()+"已經存在url="+topic.url+",index="+topic.index+"對應的文件",'yellow'));
        }else{
            if(infos.length>0){
                fs.writeFile(filename,JSON.stringify(infos),function(err){
                    if(err){
                        console.log(coloredText(nowTime()+'在函數saveInfosTo中寫入文件'+filename+'失敗,由於'+err,'red'));
                    }
                });
            }
        }
    });*/
}

//-------------------------------
// 找到帖子內容,返回內容數組
// body:網頁HTML全文,topic:帖子
//-------------------------------
function getInfosFrom(body,topic){
    var $ = cheerio.load(body);
    var infos=[];// 得到的發帖人信息

    $(".postcontent").each(function(index,element){
        var $td=cheerio.load($(element).html());
        var info={    'url':topic.url,
                    'title':topic.title,
                    '樓層':'none',
                    '做者':'none',
                    '日期':'none',
                    '時間':'none',
                    '內容':'none',};

        // 獲得發帖人信息
        $td(".postinfo").each(function(index,element){                    
            var content=$td(element).text();
            content=content.replace(/\s+/g,' ');// 空白字符替換爲一個空格
            var arr=content.split(" ");// 以空格劈分
            
            if(arr.length==7){
                info['樓層']=arr[1];
                info['做者']=arr[2].replace('只看:','');
                info['日期']=arr[4];
                info['時間']=arr[5];

            }else if(arr.length==8){
                info['樓層']=arr[1];
                info['做者']=arr[2].replace('只看:','');
                info['日期']=arr[5];
                info['時間']=arr[6];
            }
        })

        // 獲得發帖內容
        var isGotContent=false;
        $td(".postmessage .t_msgfont .t_msgfont").each(function(index,element){                    
            info['內容']=$td(element).text();
            isGotContent=true;
        })

        // 做者被屏蔽,沒取到的狀況
        if(isGotContent==false){
            // 做者被禁止或刪除 內容自動屏蔽
            $td(".postmessage .notice").each(function(index,element){                    
                info['內容']=$td(element).text();
            })
        }

        // 找齊七顆龍珠纔算完成任務,做者,內容做爲表明
        if(info['做者']!='none' && info['內容']!='none'){
            infos.push(info);
        }
    })

    return infos;
}

//-------------------------------
// 【新的開始】函數
// start:起始頁,從1開始
// end:終止頁,>start
//-------------------------------
function newGame(start,end){
    var flow=require('nimble');

    flow.series([
        function(callback){
            setTimeout(function(){ 
                createFolder();
                callback();
            },100);
        },

        function(callback){
            setTimeout(function(){ 
                findTopics(start,end);
                callback();
            },100);
        },

        function(callback){
            setTimeout(function(){ 
                var n=topics.length;
                console.log("共找到"+n+"個帖子");

                // 得到每一個子貼所在地址,序號和標題
                var index=0;
                var arr=[];
                for(var i=0;i<n;i++){
                    var topic=topics[i];

                    for(var j=1;j<=topic.pageCount;j++){
                        var regexp=new RegExp(/-(\d+)-(\d+)-(\d+)/);
                        var topicUrl=topic.url.replace(regexp,"-$1-"+j+"-$3");// 用正則表達式替換第二個數字
                        
                        var item={'index':index,'url':topicUrl,'title':topic.title};
                        arr.push(item);

                        index++;
                    }
                }
                
                finalTopics=arr;// 全部帖子加子貼的最終數組
                finalTopics.reverse();
                console.log('擬生成文件'+finalTopics.length+'個');

                saveTopicDetails();

                callback();
            },3000);
        },
    ]);
}

//--------------------------------------
// 【再續前緣】函數
//--------------------------------------
function load(){
    fs.readFile('./save.dat','utf8',function(err,data){
        if(err){
            console.log('函數load裏讀取文件save.dat失敗,由於'+err);
        }else{
            var savedData=JSON.parse(data);

            folder=savedData.folder;
            fs.exists('./'+folder,function(exists){
                if(exists==false){
                    // 建立目錄
                    fs.mkdir('./'+folder,function(err){
                        if(err){
                            console.log("目錄"+folder+"已經存在");
                        }
                    });
                }
            });

            finalTopics=savedData['finalTopics'];
            console.log('上次未完成列表中有'+finalTopics.length+'個文件');

            failedTopics=savedData['failedTopics'];
            console.log('上次下載失敗列表中有'+failedTopics.length+'個文件');

            finalTopics=finalTopics.concat(failedTopics);// 曾經下載不了的融合到所有中繼續下載
            failedTopics=[];            

            console.log('擬生成文件'+finalTopics.length+'個');
            saveTopicDetails();    
        }
    });
}

//--------------------------------------
// 通用函數,返回當前日期時間 建立目錄用
//--------------------------------------
function currDateTime() {
    var date = new Date();
    var seperator1 = "-";
    var seperator2 = "_";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate =date.getFullYear() + seperator1 + month + seperator1 + strDate
            + " " + date.getHours() + seperator2 + date.getMinutes()
            + seperator2 + date.getSeconds();
    return currentdate;
}

//--------------------------------------
// 通用函數,返回當前日期時間 控制檯輸出時間用
//--------------------------------------
function nowTime() {
    var date = new Date();
    var seperator1 = "-";
    var seperator2 = ":";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate =date.getFullYear() + seperator1 + month + seperator1 + strDate
            + " " + date.getHours() + seperator2 + date.getMinutes()
            + seperator2 + date.getSeconds()+ " ";
    return currentdate;
}

//-------------------------------
// 獲得帶顏色(前景色)的文字,用於在控制檯輸出
// text:文字,color:前景色
//-------------------------------
function coloredText(text,color){
    var dic = new Array();

    dic["white"] = ['\x1B[37m', '\x1B[39m'];
    dic["grey"] = ['\x1B[90m', '\x1B[39m'];
    dic["black"] = ['\x1B[30m', '\x1B[39m'];
    dic["blue"] = ['\x1B[34m', '\x1B[39m'];
    dic["cyan"] = ['\x1B[36m', '\x1B[39m'];
    dic["green"] = ['\x1B[32m', '\x1B[39m'];
    dic["magenta"] = ['\x1B[35m', '\x1B[39m'];
    dic["red"] = ['\x1B[31m', '\x1B[39m'];
    dic["yellow"] = ['\x1B[33m', '\x1B[39m'];

    return dic[color][0]+text+dic[color][1];
}

//-------------------------------
// 入口函數
//-------------------------------
function main(){
    process.stdin.resume();    
    process.stdout.write("\033[33m 選擇【再續前緣】輸入0,選擇【新的開始】輸入頁碼,以逗號分隔: \033[39m");// 草黃色
    process.stdin.setEncoding('utf8');
    
    process.stdin.on('data',function(text){
        var input=text.trim();
        process.stdin.end();// 退出輸入狀態    

        if(text.trim()=='0'){
            console.log(coloredText('【再續前緣】','cyan'));             
            load();
        }else{
            console.log(coloredText('【新的開始】','magenta'));
            var arr=input.split(",");            
            newGame(arr[0],arr[1]);            
        }
    });  
}

// 開始
main();

2018年5月4日21點15分html

控制檯輸出:node

 

C:\Users\horn1\Desktop\node.js\66-理想論壇爬蟲1.09 - insertdb.js>node lixiang.js
 選擇【再續前緣】輸入0,選擇【新的開始】輸入頁碼,以逗號分隔: 1,3
【新的開始】
準備建立目錄
目錄2018-05-06 21_36_5已建立
準備從如下頁面尋找主貼
page=http://www.55188.com/forum-8-1.html
page=http://www.55188.com/forum-8-2.html
page=http://www.55188.com/forum-8-3.html
共找到210個帖子
擬生成文件9788個
2018-05-06 21:36:10 處理到第0個文件
2018-05-06 21:37:1 處理到第50個文件
2018-05-06 21:37:48 處理到第100個文件
2018-05-06 21:38:38 處理到第150個文件
2018-05-06 21:39:33 處理到第200個文件
2018-05-06 21:40:35 處理到第250個文件
2018-05-06 21:42:3 處理到第300個文件
2018-05-06 21:43:27 處理到第350個文件
2018-05-06 21:44:48 處理到第400個文件
2018-05-06 21:46:5 處理到第450個文件
2018-05-06 21:47:4 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 21:47:4  url=http://www.55188.com/thread-7233771-343-3.html
2018-05-06 21:47:4  title= 一點心語——炒股,戒急用忍!
2018-05-06 21:47:4  index=465

2018-05-06 21:47:25 處理到第500個文件
2018-05-06 21:47:58 處理到第550個文件
2018-05-06 21:48:28 處理到第600個文件
2018-05-06 21:48:55 處理到第650個文件
2018-05-06 21:49:25 處理到第700個文件
2018-05-06 21:49:56 處理到第750個文件
2018-05-06 21:50:39 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 21:50:39  url=http://www.55188.com/thread-7233771-644-3.html
2018-05-06 21:50:39  title= 一點心語——炒股,戒急用忍!
2018-05-06 21:50:39  index=766

2018-05-06 21:50:42 處理到第800個文件
2018-05-06 21:51:2 處理到第850個文件
2018-05-06 21:51:18 處理到第900個文件
2018-05-06 21:51:40 處理到第950個文件
2018-05-06 21:51:57 處理到第1000個文件
2018-05-06 21:52:15 處理到第1050個文件
2018-05-06 21:52:35 處理到第1100個文件
2018-05-06 21:53:22 處理到第1150個文件
2018-05-06 21:53:26 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 21:53:26  url=http://www.55188.com/thread-3980834-142-3.html
2018-05-06 21:53:26  title= 曉哥的投資生涯:超長線實盤貼
2018-05-06 21:53:26  index=1143

2018-05-06 21:53:46 處理到第1200個文件
2018-05-06 21:54:9 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 21:54:9  url=http://www.55188.com/thread-3980834-213-3.html
2018-05-06 21:54:9  title= 曉哥的投資生涯:超長線實盤貼
2018-05-06 21:54:9  index=1214

2018-05-06 21:54:19 saveTopicDetails函數請求時出現異常Error: ETIMEDOUT
2018-05-06 21:54:19  url=http://www.55188.com/thread-3980834-240-3.html
2018-05-06 21:54:19  title= 曉哥的投資生涯:超長線實盤貼
2018-05-06 21:54:19  index=1241

2018-05-06 21:54:19 saveTopicDetails函數請求時出現異常Error: ETIMEDOUT
2018-05-06 21:54:19  url=http://www.55188.com/thread-3980834-241-3.html
2018-05-06 21:54:19  title= 曉哥的投資生涯:超長線實盤貼
2018-05-06 21:54:19  index=1242

2018-05-06 21:54:19 saveTopicDetails函數請求時出現異常Error: ETIMEDOUT
2018-05-06 21:54:19  url=http://www.55188.com/thread-3980834-242-3.html
2018-05-06 21:54:19  title= 曉哥的投資生涯:超長線實盤貼
2018-05-06 21:54:19  index=1243

2018-05-06 21:54:19 saveTopicDetails函數請求時出現異常Error: ETIMEDOUT
2018-05-06 21:54:19  url=http://www.55188.com/thread-3980834-243-3.html
2018-05-06 21:54:19  title= 曉哥的投資生涯:超長線實盤貼
2018-05-06 21:54:19  index=1244

2018-05-06 21:54:22 處理到第1250個文件
2018-05-06 21:54:46 處理到第1300個文件
2018-05-06 21:55:6 處理到第1350個文件
2018-05-06 21:55:32 處理到第1400個文件
2018-05-06 21:55:54 處理到第1450個文件
2018-05-06 21:56:19 處理到第1500個文件
2018-05-06 21:56:56 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 21:56:56  url=http://www.55188.com/thread-3980834-515-3.html
2018-05-06 21:56:56  title= 曉哥的投資生涯:超長線實盤貼
2018-05-06 21:56:56  index=1516

2018-05-06 21:56:58 處理到第1550個文件
2018-05-06 21:57:11 處理到第1600個文件
2018-05-06 21:57:31 處理到第1650個文件
2018-05-06 21:57:44 處理到第1700個文件
2018-05-06 21:58:0 處理到第1750個文件
2018-05-06 21:58:18 處理到第1800個文件
2018-05-06 21:58:29 處理到第1850個文件
2018-05-06 21:58:51 處理到第1900個文件
2018-05-06 21:59:3 處理到第1950個文件
2018-05-06 21:59:16 處理到第2000個文件
2018-05-06 21:59:27 處理到第2050個文件
2018-05-06 21:59:48 處理到第2100個文件
2018-05-06 22:0:2 處理到第2150個文件
2018-05-06 22:0:39 處理到第2200個文件
2018-05-06 22:0:59 處理到第2250個文件
2018-05-06 22:1:14 處理到第2300個文件
2018-05-06 22:1:25 處理到第2350個文件
2018-05-06 22:1:39 處理到第2400個文件
2018-05-06 22:1:52 處理到第2450個文件
2018-05-06 22:2:12 處理到第2500個文件
2018-05-06 22:2:32 處理到第2550個文件
2018-05-06 22:2:44 處理到第2600個文件
2018-05-06 22:2:56 處理到第2650個文件
2018-05-06 22:3:4 處理到第2700個文件
2018-05-06 22:3:6 處理到第2750個文件
2018-05-06 22:3:8 處理到第2800個文件
2018-05-06 22:3:19 處理到第2850個文件
2018-05-06 22:3:31 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 22:3:31  url=http://www.55188.com/thread-7647942-78-3.html
2018-05-06 22:3:31  title= 魯L蒲公英◆股票期貨實戰操盤日誌 ~【榮譽不表明將來,實戰在天天打響!】
2018-05-06 22:3:31  index=2859

2018-05-06 22:3:49 處理到第2900個文件
2018-05-06 22:4:9 處理到第2950個文件
2018-05-06 22:4:21 處理到第3000個文件
2018-05-06 22:4:39 處理到第3050個文件
2018-05-06 22:4:54 處理到第3100個文件
2018-05-06 22:5:11 處理到第3150個文件
2018-05-06 22:5:32 處理到第3200個文件
2018-05-06 22:5:46 處理到第3250個文件
2018-05-06 22:6:7 處理到第3300個文件
2018-05-06 22:6:26 處理到第3350個文件
2018-05-06 22:6:42 處理到第3400個文件
2018-05-06 22:6:57 處理到第3450個文件
2018-05-06 22:7:11 處理到第3500個文件
2018-05-06 22:7:30 處理到第3550個文件
2018-05-06 22:7:52 處理到第3600個文件
2018-05-06 22:8:9 處理到第3650個文件
2018-05-06 22:8:24 處理到第3700個文件
2018-05-06 22:8:36 處理到第3750個文件
2018-05-06 22:8:49 處理到第3800個文件
2018-05-06 22:9:0 處理到第3850個文件
2018-05-06 22:9:12 處理到第3900個文件
2018-05-06 22:9:27 處理到第3950個文件
2018-05-06 22:9:47 處理到第4000個文件
2018-05-06 22:10:7 處理到第4050個文件
2018-05-06 22:10:27 處理到第4100個文件
2018-05-06 22:10:40 處理到第4150個文件
2018-05-06 22:10:50 處理到第4200個文件
2018-05-06 22:11:0 處理到第4250個文件
2018-05-06 22:11:11 處理到第4300個文件
2018-05-06 22:11:24 處理到第4350個文件
2018-05-06 22:11:35 處理到第4400個文件
2018-05-06 22:11:48 處理到第4450個文件
2018-05-06 22:12:2 處理到第4500個文件
2018-05-06 22:12:16 處理到第4550個文件
2018-05-06 22:12:32 處理到第4600個文件
2018-05-06 22:12:35 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 22:12:35  url=http://www.55188.com/thread-7565734-179-2.html
2018-05-06 22:12:35  title= 新實盤開七年(12年盈利8倍,13年盈利6倍,14年盈利11倍,15年盈利10倍,計劃16年10倍)
2018-05-06 22:12:35  index=4577

2018-05-06 22:12:44 處理到第4650個文件
2018-05-06 22:12:58 處理到第4700個文件
2018-05-06 22:13:1 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 22:13:1  url=http://www.55188.com/thread-7565734-273-2.html
2018-05-06 22:13:1  title= 新實盤開七年(12年盈利8倍,13年盈利6倍,14年盈利11倍,15年盈利10倍,計劃16年10倍)
2018-05-06 22:13:1  index=4671

2018-05-06 22:13:1 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 22:13:1  url=http://www.55188.com/thread-7565734-272-2.html
2018-05-06 22:13:1  title= 新實盤開七年(12年盈利8倍,13年盈利6倍,14年盈利11倍,15年盈利10倍,計劃16年10倍)
2018-05-06 22:13:1  index=4670

2018-05-06 22:13:10 處理到第4750個文件
2018-05-06 22:13:20 處理到第4800個文件
2018-05-06 22:13:29 處理到第4850個文件
2018-05-06 22:13:40 處理到第4900個文件
2018-05-06 22:13:49 處理到第4950個文件
2018-05-06 22:14:0 處理到第5000個文件
2018-05-06 22:14:17 處理到第5050個文件
2018-05-06 22:14:29 處理到第5100個文件
2018-05-06 22:14:43 處理到第5150個文件
2018-05-06 22:14:48 處理到第5200個文件
2018-05-06 22:14:49 處理到第5250個文件
2018-05-06 22:14:50 處理到第5300個文件
2018-05-06 22:14:51 處理到第5350個文件
2018-05-06 22:14:53 處理到第5400個文件
2018-05-06 22:14:54 處理到第5450個文件
2018-05-06 22:14:54 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 22:14:54  url=http://www.55188.com/thread-8158615-167-2.html
2018-05-06 22:14:54  title= 將來牛市會以什麼方式運行?
2018-05-06 22:14:54  index=5020

2018-05-06 22:14:55 處理到第5500個文件
2018-05-06 22:14:58 處理到第5550個文件
2018-05-06 22:15:9 處理到第5600個文件
2018-05-06 22:15:19 處理到第5650個文件
2018-05-06 22:15:27 處理到第5700個文件
2018-05-06 22:15:34 處理到第5750個文件
2018-05-06 22:15:41 處理到第5800個文件
2018-05-06 22:15:51 處理到第5850個文件
2018-05-06 22:16:2 處理到第5900個文件
2018-05-06 22:16:3 處理到第5950個文件
2018-05-06 22:16:4 處理到第6000個文件
2018-05-06 22:16:5 處理到第6050個文件
2018-05-06 22:16:5 處理到第6100個文件
2018-05-06 22:16:13 處理到第6150個文件
2018-05-06 22:16:13 處理到第6200個文件
2018-05-06 22:16:14 處理到第6250個文件
2018-05-06 22:16:15 處理到第6300個文件
2018-05-06 22:16:16 處理到第6350個文件
2018-05-06 22:16:17 處理到第6400個文件
2018-05-06 22:16:18 處理到第6450個文件
2018-05-06 22:16:19 處理到第6500個文件
2018-05-06 22:16:21 處理到第6550個文件
2018-05-06 22:16:22 處理到第6600個文件
2018-05-06 22:16:22 處理到第6650個文件
2018-05-06 22:16:23 處理到第6700個文件
2018-05-06 22:16:24 處理到第6750個文件
2018-05-06 22:16:25 處理到第6800個文件
2018-05-06 22:16:26 處理到第6850個文件
2018-05-06 22:16:27 處理到第6900個文件
2018-05-06 22:16:28 處理到第6950個文件
2018-05-06 22:16:36 處理到第7000個文件
2018-05-06 22:16:52 處理到第7050個文件
2018-05-06 22:16:54 saveTopicDetails函數請求時出現異常Error: ESOCKETTIMEDOUT
2018-05-06 22:16:54  url=http://www.55188.com/thread-8303338-705-1.html
2018-05-06 22:16:54  title= 粉色魔窟與你同在------第50期(將超前熱點分享十即時實盤+宏觀調控解盤進行到底)
2018-05-06 22:16:54  index=7034

2018-05-06 22:16:58 saveTopicDetails函數請求時出現異常Error: ETIMEDOUT
2018-05-06 22:16:58  url=http://www.55188.com/thread-8303338-715-1.html
2018-05-06 22:16:58  title= 粉色魔窟與你同在------第50期(將超前熱點分享十即時實盤+宏觀調控解盤進行到底)
2018-05-06 22:16:58  index=7044

2018-05-06 22:17:3 處理到第7100個文件
2018-05-06 22:17:10 處理到第7150個文件
2018-05-06 22:17:19 處理到第7200個文件
2018-05-06 22:17:29 處理到第7250個文件
2018-05-06 22:17:37 處理到第7300個文件
2018-05-06 22:17:45 處理到第7350個文件
2018-05-06 22:17:47 處理到第7400個文件
2018-05-06 22:17:50 處理到第7450個文件
2018-05-06 22:17:58 處理到第7500個文件
2018-05-06 22:18:1 處理到第7550個文件
2018-05-06 22:18:7 處理到第7600個文件
2018-05-06 22:18:8 處理到第7650個文件
2018-05-06 22:18:9 處理到第7700個文件
2018-05-06 22:18:9 處理到第7750個文件
2018-05-06 22:18:10 處理到第7800個文件
2018-05-06 22:18:11 處理到第7850個文件
2018-05-06 22:18:12 處理到第7900個文件
2018-05-06 22:18:13 處理到第7950個文件
2018-05-06 22:18:18 處理到第8000個文件
2018-05-06 22:18:28 處理到第8050個文件
2018-05-06 22:18:45 處理到第8100個文件
2018-05-06 22:18:53 處理到第8150個文件
2018-05-06 22:19:3 處理到第8200個文件
2018-05-06 22:19:12 處理到第8250個文件
2018-05-06 22:19:25 處理到第8300個文件
2018-05-06 22:19:34 處理到第8350個文件
2018-05-06 22:19:43 處理到第8400個文件
2018-05-06 22:19:53 處理到第8450個文件
2018-05-06 22:20:5 處理到第8500個文件
2018-05-06 22:20:14 處理到第8550個文件
2018-05-06 22:20:26 處理到第8600個文件
2018-05-06 22:20:34 處理到第8650個文件
2018-05-06 22:20:43 處理到第8700個文件
2018-05-06 22:20:55 處理到第8750個文件
2018-05-06 22:21:10 處理到第8800個文件
2018-05-06 22:21:20 處理到第8850個文件
2018-05-06 22:21:28 處理到第8900個文件
2018-05-06 22:21:38 處理到第8950個文件
2018-05-06 22:21:50 處理到第9000個文件
2018-05-06 22:22:3 處理到第9050個文件
2018-05-06 22:22:15 處理到第9100個文件
2018-05-06 22:22:16 處理到第9150個文件
2018-05-06 22:22:19 處理到第9200個文件
2018-05-06 22:22:25 處理到第9250個文件
2018-05-06 22:22:27 處理到第9300個文件
2018-05-06 22:22:28 處理到第9350個文件
2018-05-06 22:22:32 處理到第9400個文件
2018-05-06 22:22:41 處理到第9450個文件
2018-05-06 22:22:49 處理到第9500個文件
2018-05-06 22:23:0 處理到第9550個文件
2018-05-06 22:23:7 處理到第9600個文件
2018-05-06 22:23:8 處理到第9650個文件
2018-05-06 22:23:10 處理到第9700個文件
2018-05-06 22:23:27 處理到第9750個文件

C:\Users\horn1\Desktop\node.js\66-理想論壇爬蟲1.09 - insertdb.js>node lixiang.js
 選擇【再續前緣】輸入0,選擇【新的開始】輸入頁碼,以逗號分隔: 0
【再續前緣】
上次未完成列表中有27個文件
上次下載失敗列表中有16個文件
擬生成文件43個

C:\Users\horn1\Desktop\node.js\66-理想論壇爬蟲1.09 - insertdb.js>node checkfiles.js
編號爲2675的文件缺失
編號爲2676的文件缺失
編號爲2677的文件缺失
編號爲2678的文件缺失
編號爲2680的文件缺失
編號爲2681的文件缺失
編號爲2682的文件缺失
編號爲2683的文件缺失
編號爲2684的文件缺失
編號爲2685的文件缺失
編號爲2686的文件缺失
編號爲2687的文件缺失
編號爲2688的文件缺失
編號爲2689的文件缺失
編號爲2690的文件缺失
編號爲2691的文件缺失
編號爲2692的文件缺失
編號爲2693的文件缺失
編號爲2694的文件缺失
編號爲2695的文件缺失
編號爲2696的文件缺失
編號爲2697的文件缺失
編號爲2698的文件缺失
編號爲2699的文件缺失
編號爲2700的文件缺失
編號爲2701的文件缺失
編號爲2702的文件缺失
編號爲2703的文件缺失
編號爲2704的文件缺失
編號爲2706的文件缺失
編號爲2708的文件缺失
編號爲2709的文件缺失
編號爲2710的文件缺失
編號爲2711的文件缺失
編號爲2712的文件缺失
編號爲2713的文件缺失
編號爲2714的文件缺失
編號爲2715的文件缺失
編號爲2716的文件缺失
編號爲2717的文件缺失
編號爲2718的文件缺失
編號爲2719的文件缺失
編號爲2720的文件缺失
編號爲2721的文件缺失
編號爲2722的文件缺失
編號爲2723的文件缺失
編號爲2724的文件缺失
編號爲2725的文件缺失
編號爲2726的文件缺失
編號爲2727的文件缺失
編號爲2728的文件缺失
編號爲2731的文件缺失
編號爲2732的文件缺失
編號爲2733的文件缺失
編號爲2734的文件缺失
編號爲2735的文件缺失
編號爲2736的文件缺失
編號爲2737的文件缺失
編號爲2738的文件缺失
編號爲2739的文件缺失
編號爲2740的文件缺失
編號爲2741的文件缺失
編號爲2742的文件缺失
編號爲2743的文件缺失
編號爲2744的文件缺失
編號爲2745的文件缺失
編號爲2746的文件缺失
編號爲2747的文件缺失
編號爲2748的文件缺失
編號爲2749的文件缺失
編號爲2750的文件缺失
編號爲2752的文件缺失
編號爲2753的文件缺失
編號爲2754的文件缺失
編號爲2755的文件缺失
編號爲2756的文件缺失
編號爲2757的文件缺失
編號爲2758的文件缺失
編號爲2759的文件缺失
編號爲2760的文件缺失
編號爲2761的文件缺失
編號爲2762的文件缺失
編號爲2763的文件缺失
編號爲2764的文件缺失
編號爲2765的文件缺失
編號爲2766的文件缺失
編號爲2767的文件缺失
編號爲2768的文件缺失
編號爲2769的文件缺失
編號爲2770的文件缺失
編號爲2771的文件缺失
編號爲2772的文件缺失
編號爲2773的文件缺失
編號爲2774的文件缺失
編號爲2775的文件缺失
編號爲2776的文件缺失
編號爲2777的文件缺失
編號爲2778的文件缺失
編號爲2779的文件缺失
編號爲2780的文件缺失
編號爲2781的文件缺失
編號爲2782的文件缺失
編號爲2784的文件缺失
編號爲2786的文件缺失
編號爲2787的文件缺失
編號爲2788的文件缺失
編號爲2789的文件缺失
編號爲2790的文件缺失
編號爲2791的文件缺失
編號爲2792的文件缺失
編號爲2793的文件缺失
編號爲2794的文件缺失
編號爲2795的文件缺失
編號爲2796的文件缺失
編號爲2797的文件缺失
編號爲2798的文件缺失
編號爲2799的文件缺失
編號爲2800的文件缺失
編號爲2801的文件缺失
編號爲5182的文件缺失
編號爲5185的文件缺失
編號爲5186的文件缺失
編號爲5187的文件缺失
編號爲5188的文件缺失
編號爲5189的文件缺失
編號爲5190的文件缺失
編號爲5192的文件缺失
編號爲5193的文件缺失
編號爲5194的文件缺失
編號爲5195的文件缺失
編號爲5196的文件缺失
編號爲5197的文件缺失
編號爲5198的文件缺失
編號爲5199的文件缺失
編號爲5200的文件缺失
編號爲5201的文件缺失
編號爲5202的文件缺失
編號爲5205的文件缺失
編號爲5206的文件缺失
編號爲5207的文件缺失
編號爲5208的文件缺失
編號爲5209的文件缺失
編號爲5210的文件缺失
編號爲5211的文件缺失
編號爲5212的文件缺失
編號爲5213的文件缺失
編號爲5214的文件缺失
編號爲5215的文件缺失
編號爲5216的文件缺失
編號爲5217的文件缺失
編號爲5218的文件缺失
編號爲5219的文件缺失
編號爲5220的文件缺失
編號爲5221的文件缺失
編號爲5222的文件缺失
編號爲5223的文件缺失
編號爲5224的文件缺失
編號爲5225的文件缺失
編號爲5226的文件缺失
編號爲5227的文件缺失
編號爲5228的文件缺失
編號爲5229的文件缺失
編號爲5230的文件缺失
編號爲5231的文件缺失
編號爲5232的文件缺失
編號爲5233的文件缺失
編號爲5234的文件缺失
編號爲5235的文件缺失
編號爲5236的文件缺失
編號爲5237的文件缺失
編號爲5238的文件缺失
編號爲5239的文件缺失
編號爲5240的文件缺失
編號爲5241的文件缺失
編號爲5244的文件缺失
編號爲5245的文件缺失
編號爲5246的文件缺失
編號爲5247的文件缺失
編號爲5248的文件缺失
編號爲5249的文件缺失
編號爲5250的文件缺失
編號爲5251的文件缺失
編號爲5252的文件缺失
編號爲5253的文件缺失
編號爲5254的文件缺失
編號爲5255的文件缺失
編號爲5256的文件缺失
編號爲5257的文件缺失
編號爲5258的文件缺失
編號爲5259的文件缺失
編號爲5260的文件缺失
編號爲5261的文件缺失
編號爲5262的文件缺失
編號爲5263的文件缺失
編號爲5264的文件缺失
編號爲5265的文件缺失
編號爲5266的文件缺失
編號爲5267的文件缺失
編號爲5268的文件缺失
編號爲5269的文件缺失
編號爲5270的文件缺失
編號爲5271的文件缺失
編號爲5272的文件缺失
編號爲5273的文件缺失
編號爲5275的文件缺失
編號爲5277的文件缺失
編號爲5278的文件缺失
編號爲5279的文件缺失
編號爲5280的文件缺失
編號爲5281的文件缺失
編號爲5282的文件缺失
編號爲5283的文件缺失
編號爲5284的文件缺失
編號爲5285的文件缺失
編號爲5286的文件缺失
編號爲5287的文件缺失
編號爲5288的文件缺失
編號爲5289的文件缺失
編號爲5290的文件缺失
編號爲5291的文件缺失
編號爲5292的文件缺失
編號爲5293的文件缺失
編號爲5294的文件缺失
編號爲5295的文件缺失
編號爲5296的文件缺失
編號爲5297的文件缺失
編號爲5298的文件缺失
編號爲5299的文件缺失
編號爲5300的文件缺失
編號爲5301的文件缺失
編號爲5302的文件缺失
編號爲5303的文件缺失
編號爲5304的文件缺失
編號爲5305的文件缺失
編號爲5306的文件缺失
編號爲5307的文件缺失
編號爲5308的文件缺失
編號爲5309的文件缺失
編號爲5310的文件缺失
編號爲5311的文件缺失
編號爲5312的文件缺失
編號爲5313的文件缺失
編號爲5314的文件缺失
編號爲5315的文件缺失
編號爲5316的文件缺失
編號爲5318的文件缺失
編號爲5319的文件缺失
編號爲5320的文件缺失
編號爲5321的文件缺失
編號爲5322的文件缺失
編號爲5323的文件缺失
編號爲5324的文件缺失
編號爲5325的文件缺失
編號爲5326的文件缺失
編號爲5327的文件缺失
編號爲5328的文件缺失
編號爲5329的文件缺失
編號爲5330的文件缺失
編號爲5331的文件缺失
編號爲5332的文件缺失
編號爲5333的文件缺失
編號爲5334的文件缺失
編號爲5335的文件缺失
編號爲5336的文件缺失
編號爲5337的文件缺失
編號爲5338的文件缺失
編號爲5339的文件缺失
編號爲5340的文件缺失
編號爲5341的文件缺失
編號爲5342的文件缺失
編號爲5343的文件缺失
編號爲5344的文件缺失
編號爲5345的文件缺失
編號爲5346的文件缺失
編號爲5347的文件缺失
編號爲5348的文件缺失
編號爲5349的文件缺失
編號爲5350的文件缺失
編號爲5351的文件缺失
編號爲5352的文件缺失
編號爲5353的文件缺失
編號爲5354的文件缺失
編號爲5355的文件缺失
編號爲5356的文件缺失
編號爲5357的文件缺失
編號爲5358的文件缺失
編號爲5359的文件缺失
編號爲5360的文件缺失
編號爲5361的文件缺失
編號爲5362的文件缺失
編號爲5363的文件缺失
編號爲5364的文件缺失
編號爲5365的文件缺失
編號爲5366的文件缺失
編號爲5367的文件缺失
編號爲5370的文件缺失
編號爲5371的文件缺失
編號爲5372的文件缺失
編號爲5373的文件缺失
編號爲5374的文件缺失
編號爲5375的文件缺失
編號爲5376的文件缺失
編號爲5377的文件缺失
編號爲5378的文件缺失
編號爲5379的文件缺失
編號爲5380的文件缺失
編號爲5381的文件缺失
編號爲5382的文件缺失
編號爲5383的文件缺失
編號爲5384的文件缺失
編號爲5385的文件缺失
編號爲5386的文件缺失
編號爲5387的文件缺失
編號爲5388的文件缺失
編號爲5389的文件缺失
編號爲5390的文件缺失
編號爲5391的文件缺失
編號爲5392的文件缺失
編號爲5393的文件缺失
編號爲5394的文件缺失
編號爲5395的文件缺失
編號爲5396的文件缺失
編號爲5397的文件缺失
編號爲5398的文件缺失
編號爲5399的文件缺失
編號爲5400的文件缺失
編號爲5401的文件缺失
編號爲5402的文件缺失
編號爲5403的文件缺失
編號爲5404的文件缺失
編號爲5405的文件缺失
編號爲5406的文件缺失
編號爲5409的文件缺失
編號爲5410的文件缺失
編號爲5411的文件缺失
編號爲5412的文件缺失
編號爲5413的文件缺失
編號爲5414的文件缺失
編號爲5415的文件缺失
編號爲5416的文件缺失
編號爲5417的文件缺失
編號爲5418的文件缺失
編號爲5419的文件缺失
編號爲5420的文件缺失
編號爲5421的文件缺失
編號爲5422的文件缺失
編號爲5423的文件缺失
編號爲5424的文件缺失
編號爲5425的文件缺失
編號爲5426的文件缺失
編號爲5427的文件缺失
編號爲5428的文件缺失
編號爲5429的文件缺失
編號爲5430的文件缺失
編號爲5431的文件缺失
編號爲5432的文件缺失
編號爲5433的文件缺失
編號爲5434的文件缺失
編號爲5435的文件缺失
編號爲5436的文件缺失
編號爲5437的文件缺失
編號爲5438的文件缺失
編號爲5439的文件缺失
編號爲5440的文件缺失
編號爲5441的文件缺失
編號爲5442的文件缺失
編號爲5443的文件缺失
編號爲5444的文件缺失
編號爲5445的文件缺失
編號爲5446的文件缺失
編號爲5447的文件缺失
編號爲5448的文件缺失
編號爲5450的文件缺失
編號爲5451的文件缺失
編號爲5452的文件缺失
編號爲5453的文件缺失
編號爲5454的文件缺失
編號爲5455的文件缺失
編號爲5456的文件缺失
編號爲5457的文件缺失
編號爲5458的文件缺失
編號爲5459的文件缺失
編號爲5460的文件缺失
編號爲5461的文件缺失
編號爲5462的文件缺失
編號爲5463的文件缺失
編號爲5464的文件缺失
編號爲5465的文件缺失
編號爲5466的文件缺失
編號爲5467的文件缺失
編號爲5468的文件缺失
編號爲5469的文件缺失
編號爲5470的文件缺失
編號爲5471的文件缺失
編號爲5472的文件缺失
編號爲5473的文件缺失
編號爲5474的文件缺失
編號爲5475的文件缺失
編號爲5476的文件缺失
編號爲5477的文件缺失
編號爲5478的文件缺失
編號爲5479的文件缺失
編號爲5480的文件缺失
編號爲5481的文件缺失
編號爲5482的文件缺失
編號爲5483的文件缺失
編號爲5484的文件缺失
編號爲5485的文件缺失
編號爲5486的文件缺失
編號爲5487的文件缺失
編號爲5488的文件缺失
編號爲5489的文件缺失
編號爲5490的文件缺失
編號爲5491的文件缺失
編號爲5492的文件缺失
編號爲5493的文件缺失
編號爲5494的文件缺失
編號爲5495的文件缺失
編號爲5496的文件缺失
編號爲5498的文件缺失
編號爲5500的文件缺失
編號爲5501的文件缺失
編號爲5502的文件缺失
編號爲5503的文件缺失
編號爲5504的文件缺失
編號爲5505的文件缺失
編號爲5506的文件缺失
編號爲5507的文件缺失
編號爲5508的文件缺失
編號爲5509的文件缺失
編號爲5510的文件缺失
編號爲5511的文件缺失
編號爲5512的文件缺失
編號爲5513的文件缺失
編號爲5514的文件缺失
編號爲5515的文件缺失
編號爲5516的文件缺失
編號爲5517的文件缺失
編號爲5518的文件缺失
編號爲5519的文件缺失
編號爲5520的文件缺失
編號爲5521的文件缺失
編號爲5522的文件缺失
編號爲5523的文件缺失
編號爲5524的文件缺失
編號爲5525的文件缺失
編號爲5526的文件缺失
編號爲5527的文件缺失
編號爲5528的文件缺失
編號爲5529的文件缺失
編號爲5530的文件缺失
編號爲5531的文件缺失
編號爲5532的文件缺失
編號爲5533的文件缺失
編號爲5534的文件缺失
編號爲5535的文件缺失
編號爲5536的文件缺失
編號爲5537的文件缺失
編號爲5538的文件缺失
編號爲5539的文件缺失
編號爲5540的文件缺失
編號爲5541的文件缺失
編號爲5542的文件缺失
編號爲5543的文件缺失
編號爲5545的文件缺失
編號爲5546的文件缺失
編號爲5547的文件缺失
編號爲5548的文件缺失
編號爲5551的文件缺失
編號爲5554的文件缺失
編號爲5902的文件缺失
編號爲5903的文件缺失
編號爲5907的文件缺失
編號爲5908的文件缺失
編號爲5909的文件缺失
編號爲5910的文件缺失
編號爲5911的文件缺失
編號爲5912的文件缺失
編號爲5913的文件缺失
編號爲5914的文件缺失
編號爲5915的文件缺失
編號爲5916的文件缺失
編號爲5917的文件缺失
編號爲5918的文件缺失
編號爲5919的文件缺失
編號爲5921的文件缺失
編號爲5922的文件缺失
編號爲5923的文件缺失
編號爲5924的文件缺失
編號爲5925的文件缺失
編號爲5926的文件缺失
編號爲5927的文件缺失
編號爲5929的文件缺失
編號爲5930的文件缺失
編號爲5931的文件缺失
編號爲5932的文件缺失
編號爲5933的文件缺失
編號爲5934的文件缺失
編號爲5935的文件缺失
編號爲5936的文件缺失
編號爲5937的文件缺失
編號爲5938的文件缺失
編號爲5939的文件缺失
編號爲5940的文件缺失
編號爲5941的文件缺失
編號爲5942的文件缺失
編號爲5943的文件缺失
編號爲5944的文件缺失
編號爲5945的文件缺失
編號爲5946的文件缺失
編號爲5947的文件缺失
編號爲5948的文件缺失
編號爲5949的文件缺失
編號爲5950的文件缺失
編號爲5951的文件缺失
編號爲5952的文件缺失
編號爲5953的文件缺失
編號爲5954的文件缺失
編號爲5955的文件缺失
編號爲5956的文件缺失
編號爲5957的文件缺失
編號爲5958的文件缺失
編號爲5961的文件缺失
編號爲5962的文件缺失
編號爲5963的文件缺失
編號爲5964的文件缺失
編號爲5965的文件缺失
編號爲5966的文件缺失
編號爲5967的文件缺失
編號爲5968的文件缺失
編號爲5969的文件缺失
編號爲5970的文件缺失
編號爲5971的文件缺失
編號爲5972的文件缺失
編號爲5973的文件缺失
編號爲5974的文件缺失
編號爲5975的文件缺失
編號爲5976的文件缺失
編號爲5977的文件缺失
編號爲5978的文件缺失
編號爲5979的文件缺失
編號爲5980的文件缺失
編號爲5981的文件缺失
編號爲5982的文件缺失
編號爲5983的文件缺失
編號爲5984的文件缺失
編號爲5985的文件缺失
編號爲5986的文件缺失
編號爲5987的文件缺失
編號爲5988的文件缺失
編號爲5989的文件缺失
編號爲5990的文件缺失
編號爲5991的文件缺失
編號爲5992的文件缺失
編號爲5993的文件缺失
編號爲5994的文件缺失
編號爲5995的文件缺失
編號爲5996的文件缺失
編號爲5997的文件缺失
編號爲5998的文件缺失
編號爲5999的文件缺失
編號爲6000的文件缺失
編號爲6001的文件缺失
編號爲6002的文件缺失
編號爲6003的文件缺失
編號爲6004的文件缺失
編號爲6005的文件缺失
編號爲6006的文件缺失
編號爲6007的文件缺失
編號爲6009的文件缺失
編號爲6010的文件缺失
編號爲6012的文件缺失
編號爲6013的文件缺失
編號爲6014的文件缺失
編號爲6015的文件缺失
編號爲6016的文件缺失
編號爲6017的文件缺失
編號爲6018的文件缺失
編號爲6019的文件缺失
編號爲6020的文件缺失
編號爲6021的文件缺失
編號爲6022的文件缺失
編號爲6023的文件缺失
編號爲6024的文件缺失
編號爲6025的文件缺失
編號爲6026的文件缺失
編號爲6027的文件缺失
編號爲6028的文件缺失
編號爲6029的文件缺失
編號爲6030的文件缺失
編號爲6031的文件缺失
編號爲6032的文件缺失
編號爲6033的文件缺失
編號爲6034的文件缺失
編號爲6035的文件缺失
編號爲6036的文件缺失
編號爲6037的文件缺失
編號爲6038的文件缺失
編號爲6039的文件缺失
編號爲6040的文件缺失
編號爲6041的文件缺失
編號爲6042的文件缺失
編號爲6043的文件缺失
編號爲6044的文件缺失
編號爲6045的文件缺失
編號爲6046的文件缺失
編號爲6047的文件缺失
編號爲6048的文件缺失
編號爲6049的文件缺失
編號爲6050的文件缺失
編號爲6051的文件缺失
編號爲6052的文件缺失
編號爲6053的文件缺失
編號爲6054的文件缺失
編號爲6056的文件缺失
編號爲6057的文件缺失
編號爲6058的文件缺失
編號爲6059的文件缺失
編號爲6060的文件缺失
編號爲6061的文件缺失
編號爲6062的文件缺失
編號爲6063的文件缺失
編號爲6064的文件缺失
編號爲6065的文件缺失
編號爲6066的文件缺失
編號爲6067的文件缺失
編號爲6068的文件缺失
編號爲6069的文件缺失
編號爲6070的文件缺失
編號爲6071的文件缺失
編號爲6072的文件缺失
編號爲6073的文件缺失
編號爲6074的文件缺失
編號爲6075的文件缺失
編號爲6076的文件缺失
編號爲6077的文件缺失
編號爲6078的文件缺失
編號爲6079的文件缺失
編號爲6080的文件缺失
編號爲6081的文件缺失
編號爲6082的文件缺失
編號爲6083的文件缺失
編號爲6084的文件缺失
編號爲6085的文件缺失
編號爲6086的文件缺失
編號爲6087的文件缺失
編號爲6088的文件缺失
編號爲6089的文件缺失
編號爲6090的文件缺失
編號爲6091的文件缺失
編號爲6092的文件缺失
編號爲6093的文件缺失
編號爲6094的文件缺失
編號爲6095的文件缺失
編號爲6096的文件缺失
編號爲6097的文件缺失
編號爲6098的文件缺失
編號爲6099的文件缺失
編號爲6100的文件缺失
編號爲6101的文件缺失
編號爲6102的文件缺失
編號爲6103的文件缺失
編號爲6104的文件缺失
編號爲6105的文件缺失
編號爲6106的文件缺失
編號爲6130的文件缺失
編號爲6131的文件缺失
編號爲6132的文件缺失
編號爲6133的文件缺失
編號爲6135的文件缺失
編號爲6136的文件缺失
編號爲6137的文件缺失
編號爲6138的文件缺失
編號爲6139的文件缺失
編號爲6140的文件缺失
編號爲6141的文件缺失
編號爲6142的文件缺失
編號爲6143的文件缺失
編號爲6144的文件缺失
編號爲6146的文件缺失
編號爲6147的文件缺失
編號爲6148的文件缺失
編號爲6149的文件缺失
編號爲6151的文件缺失
編號爲6152的文件缺失
編號爲6153的文件缺失
編號爲6154的文件缺失
編號爲6155的文件缺失
編號爲6156的文件缺失
編號爲6157的文件缺失
編號爲6158的文件缺失
編號爲6159的文件缺失
編號爲6160的文件缺失
編號爲6161的文件缺失
編號爲6162的文件缺失
編號爲6163的文件缺失
編號爲6164的文件缺失
編號爲6165的文件缺失
編號爲6166的文件缺失
編號爲6167的文件缺失
編號爲6168的文件缺失
編號爲6169的文件缺失
編號爲6170的文件缺失
編號爲6171的文件缺失
編號爲6172的文件缺失
編號爲6173的文件缺失
編號爲6174的文件缺失
編號爲6175的文件缺失
編號爲6176的文件缺失
編號爲6177的文件缺失
編號爲6178的文件缺失
編號爲6179的文件缺失
編號爲6180的文件缺失
編號爲6181的文件缺失
編號爲6182的文件缺失
編號爲6183的文件缺失
編號爲6184的文件缺失
編號爲6185的文件缺失
編號爲6186的文件缺失
編號爲6187的文件缺失
編號爲6188的文件缺失
編號爲6189的文件缺失
編號爲6190的文件缺失
編號爲6191的文件缺失
編號爲6194的文件缺失
編號爲6195的文件缺失
編號爲6196的文件缺失
編號爲6197的文件缺失
編號爲6198的文件缺失
編號爲6199的文件缺失
編號爲6200的文件缺失
編號爲6201的文件缺失
編號爲6202的文件缺失
編號爲6203的文件缺失
編號爲6204的文件缺失
編號爲6205的文件缺失
編號爲6206的文件缺失
編號爲6207的文件缺失
編號爲6208的文件缺失
編號爲6209的文件缺失
編號爲6210的文件缺失
編號爲6211的文件缺失
編號爲6212的文件缺失
編號爲6213的文件缺失
編號爲6214的文件缺失
編號爲6215的文件缺失
編號爲6216的文件缺失
編號爲6217的文件缺失
編號爲6218的文件缺失
編號爲6219的文件缺失
編號爲6220的文件缺失
編號爲6221的文件缺失
編號爲6222的文件缺失
編號爲6223的文件缺失
編號爲6224的文件缺失
編號爲6225的文件缺失
編號爲6226的文件缺失
編號爲6227的文件缺失
編號爲6228的文件缺失
編號爲6229的文件缺失
編號爲6230的文件缺失
編號爲6231的文件缺失
編號爲6232的文件缺失
編號爲6233的文件缺失
編號爲6234的文件缺失
編號爲6235的文件缺失
編號爲6236的文件缺失
編號爲6237的文件缺失
編號爲6238的文件缺失
編號爲6239的文件缺失
編號爲6240的文件缺失
編號爲6241的文件缺失
編號爲6242的文件缺失
編號爲6244的文件缺失
編號爲6245的文件缺失
編號爲6246的文件缺失
編號爲6247的文件缺失
編號爲6248的文件缺失
編號爲6249的文件缺失
編號爲6250的文件缺失
編號爲6251的文件缺失
編號爲6252的文件缺失
編號爲6253的文件缺失
編號爲6254的文件缺失
編號爲6255的文件缺失
編號爲6256的文件缺失
編號爲6257的文件缺失
編號爲6258的文件缺失
編號爲6259的文件缺失
編號爲6260的文件缺失
編號爲6261的文件缺失
編號爲6262的文件缺失
編號爲6263的文件缺失
編號爲6264的文件缺失
編號爲6265的文件缺失
編號爲6266的文件缺失
編號爲6267的文件缺失
編號爲6268的文件缺失
編號爲6269的文件缺失
編號爲6270的文件缺失
編號爲6271的文件缺失
編號爲6272的文件缺失
編號爲6273的文件缺失
編號爲6274的文件缺失
編號爲6275的文件缺失
編號爲6276的文件缺失
編號爲6277的文件缺失
編號爲6278的文件缺失
編號爲6279的文件缺失
編號爲6280的文件缺失
編號爲6281的文件缺失
編號爲6282的文件缺失
編號爲6283的文件缺失
編號爲6284的文件缺失
編號爲6285的文件缺失
編號爲6286的文件缺失
編號爲6287的文件缺失
編號爲6288的文件缺失
編號爲6289的文件缺失
編號爲6290的文件缺失
編號爲6291的文件缺失
編號爲6292的文件缺失
編號爲6293的文件缺失
編號爲6294的文件缺失
編號爲6295的文件缺失
編號爲6296的文件缺失
編號爲6297的文件缺失
編號爲6298的文件缺失
編號爲6299的文件缺失
編號爲6300的文件缺失
編號爲6301的文件缺失
編號爲6302的文件缺失
編號爲6303的文件缺失
編號爲6304的文件缺失
編號爲6305的文件缺失
編號爲6306的文件缺失
編號爲6307的文件缺失
編號爲6308的文件缺失
編號爲6309的文件缺失
編號爲6310的文件缺失
編號爲6311的文件缺失
編號爲6312的文件缺失
編號爲6313的文件缺失
編號爲6314的文件缺失
編號爲6315的文件缺失
編號爲6318的文件缺失
編號爲6319的文件缺失
編號爲6320的文件缺失
編號爲6321的文件缺失
編號爲6322的文件缺失
編號爲6323的文件缺失
編號爲6324的文件缺失
編號爲6325的文件缺失
編號爲6326的文件缺失
編號爲6327的文件缺失
編號爲6328的文件缺失
編號爲6329的文件缺失
編號爲6330的文件缺失
編號爲6331的文件缺失
編號爲6332的文件缺失
編號爲6333的文件缺失
編號爲6334的文件缺失
編號爲6335的文件缺失
編號爲6336的文件缺失
編號爲6337的文件缺失
編號爲6338的文件缺失
編號爲6339的文件缺失
編號爲6340的文件缺失
編號爲6341的文件缺失
編號爲6342的文件缺失
編號爲6343的文件缺失
編號爲6344的文件缺失
編號爲6345的文件缺失
編號爲6346的文件缺失
編號爲6347的文件缺失
編號爲6348的文件缺失
編號爲6349的文件缺失
編號爲6350的文件缺失
編號爲6351的文件缺失
編號爲6352的文件缺失
編號爲6353的文件缺失
編號爲6355的文件缺失
編號爲6357的文件缺失
編號爲6358的文件缺失
編號爲6359的文件缺失
編號爲6360的文件缺失
編號爲6361的文件缺失
編號爲6362的文件缺失
編號爲6363的文件缺失
編號爲6364的文件缺失
編號爲6365的文件缺失
編號爲6366的文件缺失
編號爲6367的文件缺失
編號爲6368的文件缺失
編號爲6369的文件缺失
編號爲6370的文件缺失
編號爲6371的文件缺失
編號爲6372的文件缺失
編號爲6373的文件缺失
編號爲6374的文件缺失
編號爲6375的文件缺失
編號爲6376的文件缺失
編號爲6377的文件缺失
編號爲6378的文件缺失
編號爲6379的文件缺失
編號爲6380的文件缺失
編號爲6381的文件缺失
編號爲6382的文件缺失
編號爲6383的文件缺失
編號爲6384的文件缺失
編號爲6385的文件缺失
編號爲6386的文件缺失
編號爲6387的文件缺失
編號爲6388的文件缺失
編號爲6389的文件缺失
編號爲6390的文件缺失
編號爲6391的文件缺失
編號爲6392的文件缺失
編號爲6393的文件缺失
編號爲6394的文件缺失
編號爲6395的文件缺失
編號爲6396的文件缺失
編號爲6397的文件缺失
編號爲6398的文件缺失
編號爲6399的文件缺失
編號爲6400的文件缺失
編號爲6401的文件缺失
編號爲6402的文件缺失
編號爲6404的文件缺失
編號爲6405的文件缺失
編號爲6406的文件缺失
編號爲6407的文件缺失
編號爲6408的文件缺失
編號爲6409的文件缺失
編號爲6410的文件缺失
編號爲6411的文件缺失
編號爲6412的文件缺失
編號爲6413的文件缺失
編號爲6414的文件缺失
編號爲6415的文件缺失
編號爲6416的文件缺失
編號爲6417的文件缺失
編號爲6418的文件缺失
編號爲6419的文件缺失
編號爲6420的文件缺失
編號爲6421的文件缺失
編號爲6422的文件缺失
編號爲6423的文件缺失
編號爲6424的文件缺失
編號爲6425的文件缺失
編號爲6426的文件缺失
編號爲6427的文件缺失
編號爲6428的文件缺失
編號爲6429的文件缺失
編號爲6430的文件缺失
編號爲6431的文件缺失
編號爲6432的文件缺失
編號爲6433的文件缺失
編號爲6434的文件缺失
編號爲6435的文件缺失
編號爲6436的文件缺失
編號爲6437的文件缺失
編號爲6438的文件缺失
編號爲6439的文件缺失
編號爲6440的文件缺失
編號爲6441的文件缺失
編號爲6442的文件缺失
編號爲6443的文件缺失
編號爲6444的文件缺失
編號爲6445的文件缺失
編號爲6446的文件缺失
編號爲6447的文件缺失
編號爲6448的文件缺失
編號爲6449的文件缺失
編號爲6450的文件缺失
編號爲6451的文件缺失
編號爲6452的文件缺失
編號爲6453的文件缺失
編號爲6454的文件缺失
編號爲6455的文件缺失
編號爲6456的文件缺失
編號爲6457的文件缺失
編號爲6458的文件缺失
編號爲6459的文件缺失
編號爲6460的文件缺失
編號爲6461的文件缺失
編號爲6462的文件缺失
編號爲6463的文件缺失
編號爲6465的文件缺失
編號爲6467的文件缺失
編號爲6468的文件缺失
編號爲6469的文件缺失
編號爲6470的文件缺失
編號爲6471的文件缺失
編號爲6472的文件缺失
編號爲6473的文件缺失
編號爲6474的文件缺失
編號爲6475的文件缺失
編號爲6476的文件缺失
編號爲6477的文件缺失
編號爲6478的文件缺失
編號爲6479的文件缺失
編號爲6480的文件缺失
編號爲6481的文件缺失
編號爲6482的文件缺失
編號爲6483的文件缺失
編號爲6484的文件缺失
編號爲6485的文件缺失
編號爲6486的文件缺失
編號爲6487的文件缺失
編號爲6488的文件缺失
編號爲6489的文件缺失
編號爲6490的文件缺失
編號爲6491的文件缺失
編號爲6492的文件缺失
編號爲6493的文件缺失
編號爲6494的文件缺失
編號爲6495的文件缺失
編號爲6496的文件缺失
編號爲6497的文件缺失
編號爲6498的文件缺失
編號爲6499的文件缺失
編號爲6500的文件缺失
編號爲6501的文件缺失
編號爲6502的文件缺失
編號爲6503的文件缺失
編號爲6504的文件缺失
編號爲6510的文件缺失
編號爲6511的文件缺失
編號爲6513的文件缺失
編號爲6516的文件缺失
編號爲6517的文件缺失
編號爲6518的文件缺失
編號爲6519的文件缺失
編號爲6520的文件缺失
編號爲6521的文件缺失
編號爲6522的文件缺失
編號爲6524的文件缺失
編號爲6525的文件缺失
編號爲6526的文件缺失
編號爲6527的文件缺失
編號爲6528的文件缺失
編號爲6529的文件缺失
編號爲6530的文件缺失
編號爲6531的文件缺失
編號爲6532的文件缺失
編號爲6533的文件缺失
編號爲6534的文件缺失
編號爲6535的文件缺失
編號爲6536的文件缺失
編號爲6537的文件缺失
編號爲6538的文件缺失
編號爲6539的文件缺失
編號爲6540的文件缺失
編號爲6541的文件缺失
編號爲6542的文件缺失
編號爲6543的文件缺失
編號爲6544的文件缺失
編號爲6545的文件缺失
編號爲6546的文件缺失
編號爲6547的文件缺失
編號爲6548的文件缺失
編號爲6549的文件缺失
編號爲6550的文件缺失
編號爲6551的文件缺失
編號爲6552的文件缺失
編號爲6553的文件缺失
編號爲6554的文件缺失
編號爲6555的文件缺失
編號爲6556的文件缺失
編號爲6557的文件缺失
編號爲6558的文件缺失
編號爲6559的文件缺失
編號爲6560的文件缺失
編號爲6561的文件缺失
編號爲6562的文件缺失
編號爲6563的文件缺失
編號爲6565的文件缺失
編號爲6567的文件缺失
編號爲6568的文件缺失
編號爲6569的文件缺失
編號爲6570的文件缺失
編號爲6571的文件缺失
編號爲6572的文件缺失
編號爲6573的文件缺失
編號爲6574的文件缺失
編號爲6575的文件缺失
編號爲6576的文件缺失
編號爲6577的文件缺失
編號爲6578的文件缺失
編號爲6579的文件缺失
編號爲6580的文件缺失
編號爲6581的文件缺失
編號爲6582的文件缺失
編號爲6583的文件缺失
編號爲6584的文件缺失
編號爲6585的文件缺失
編號爲6586的文件缺失
編號爲6587的文件缺失
編號爲6588的文件缺失
編號爲6589的文件缺失
編號爲6590的文件缺失
編號爲6591的文件缺失
編號爲6592的文件缺失
編號爲6593的文件缺失
編號爲6594的文件缺失
編號爲6595的文件缺失
編號爲6596的文件缺失
編號爲6597的文件缺失
編號爲6598的文件缺失
編號爲6599的文件缺失
編號爲6600的文件缺失
編號爲6601的文件缺失
編號爲6602的文件缺失
編號爲6603的文件缺失
編號爲6604的文件缺失
編號爲6605的文件缺失
編號爲6606的文件缺失
編號爲6607的文件缺失
編號爲6608的文件缺失
編號爲6609的文件缺失
編號爲6610的文件缺失
編號爲6611的文件缺失
編號爲6612的文件缺失
編號爲6615的文件缺失
編號爲6616的文件缺失
編號爲6617的文件缺失
編號爲6618的文件缺失
編號爲6619的文件缺失
編號爲6620的文件缺失
編號爲6621的文件缺失
編號爲6622的文件缺失
編號爲6623的文件缺失
編號爲6624的文件缺失
編號爲6625的文件缺失
編號爲6626的文件缺失
編號爲6627的文件缺失
編號爲6628的文件缺失
編號爲6629的文件缺失
編號爲6630的文件缺失
編號爲6631的文件缺失
編號爲6632的文件缺失
編號爲6633的文件缺失
編號爲6634的文件缺失
編號爲6635的文件缺失
編號爲6636的文件缺失
編號爲6637的文件缺失
編號爲6638的文件缺失
編號爲6639的文件缺失
編號爲6640的文件缺失
編號爲6641的文件缺失
編號爲6642的文件缺失
編號爲6643的文件缺失
編號爲6644的文件缺失
編號爲6645的文件缺失
編號爲6646的文件缺失
編號爲6647的文件缺失
編號爲6648的文件缺失
編號爲6649的文件缺失
編號爲6650的文件缺失
編號爲6651的文件缺失
編號爲6652的文件缺失
編號爲6653的文件缺失
編號爲6654的文件缺失
編號爲6655的文件缺失
編號爲6656的文件缺失
編號爲6657的文件缺失
編號爲6658的文件缺失
編號爲6659的文件缺失
編號爲6660的文件缺失
編號爲6662的文件缺失
編號爲6663的文件缺失
編號爲6664的文件缺失
編號爲6665的文件缺失
編號爲6666的文件缺失
編號爲6667的文件缺失
編號爲6668的文件缺失
編號爲6669的文件缺失
編號爲6670的文件缺失
編號爲6671的文件缺失
編號爲6672的文件缺失
編號爲6673的文件缺失
編號爲6674的文件缺失
編號爲6675的文件缺失
編號爲6676的文件缺失
編號爲6677的文件缺失
編號爲6678的文件缺失
編號爲6679的文件缺失
編號爲6680的文件缺失
編號爲6681的文件缺失
編號爲6682的文件缺失
編號爲6683的文件缺失
編號爲6684的文件缺失
編號爲6685的文件缺失
編號爲6686的文件缺失
編號爲6687的文件缺失
編號爲6688的文件缺失
編號爲6689的文件缺失
編號爲6690的文件缺失
編號爲6691的文件缺失
編號爲6692的文件缺失
編號爲6693的文件缺失
編號爲6694的文件缺失
編號爲6695的文件缺失
編號爲6696的文件缺失
編號爲6697的文件缺失
編號爲6698的文件缺失
編號爲6699的文件缺失
編號爲6700的文件缺失
編號爲6701的文件缺失
編號爲6702的文件缺失
編號爲6703的文件缺失
編號爲6704的文件缺失
編號爲6705的文件缺失
編號爲6706的文件缺失
編號爲6707的文件缺失
編號爲6708的文件缺失
編號爲6709的文件缺失
編號爲6710的文件缺失
編號爲6711的文件缺失
編號爲6712的文件缺失
編號爲6713的文件缺失
編號爲6714的文件缺失
編號爲6715的文件缺失
編號爲6716的文件缺失
編號爲6717的文件缺失
編號爲6718的文件缺失
編號爲6719的文件缺失
編號爲6720的文件缺失
編號爲6721的文件缺失
編號爲6724的文件缺失
編號爲6725的文件缺失
編號爲6726的文件缺失
編號爲6727的文件缺失
編號爲6728的文件缺失
編號爲6729的文件缺失
編號爲6730的文件缺失
編號爲6731的文件缺失
編號爲6732的文件缺失
編號爲6733的文件缺失
編號爲6734的文件缺失
編號爲6735的文件缺失
編號爲6736的文件缺失
編號爲6737的文件缺失
編號爲6738的文件缺失
編號爲6739的文件缺失
編號爲6740的文件缺失
編號爲6741的文件缺失
編號爲6742的文件缺失
編號爲6743的文件缺失
編號爲6744的文件缺失
編號爲6745的文件缺失
編號爲6746的文件缺失
編號爲6747的文件缺失
編號爲6748的文件缺失
編號爲6749的文件缺失
編號爲6750的文件缺失
編號爲6751的文件缺失
編號爲6752的文件缺失
編號爲6753的文件缺失
編號爲6754的文件缺失
編號爲6755的文件缺失
編號爲6756的文件缺失
編號爲6757的文件缺失
編號爲6758的文件缺失
編號爲6759的文件缺失
編號爲6760的文件缺失
編號爲6761的文件缺失
編號爲6762的文件缺失
編號爲6763的文件缺失
編號爲6764的文件缺失
編號爲6765的文件缺失
編號爲6766的文件缺失
編號爲6767的文件缺失
編號爲6770的文件缺失
編號爲6771的文件缺失
編號爲6772的文件缺失
編號爲6773的文件缺失
編號爲6774的文件缺失
編號爲6775的文件缺失
編號爲6776的文件缺失
編號爲6777的文件缺失
編號爲6778的文件缺失
編號爲6779的文件缺失
編號爲6780的文件缺失
編號爲6781的文件缺失
編號爲6782的文件缺失
編號爲6783的文件缺失
編號爲6784的文件缺失
編號爲6785的文件缺失
編號爲6786的文件缺失
編號爲6787的文件缺失
編號爲6788的文件缺失
編號爲6789的文件缺失
編號爲6790的文件缺失
編號爲6791的文件缺失
編號爲6792的文件缺失
編號爲6793的文件缺失
編號爲6794的文件缺失
編號爲6795的文件缺失
編號爲6796的文件缺失
編號爲6797的文件缺失
編號爲6798的文件缺失
編號爲6799的文件缺失
編號爲6800的文件缺失
編號爲6801的文件缺失
編號爲6802的文件缺失
編號爲6803的文件缺失
編號爲6804的文件缺失
編號爲6805的文件缺失
編號爲6806的文件缺失
編號爲6807的文件缺失
編號爲6808的文件缺失
編號爲6809的文件缺失
編號爲6810的文件缺失
編號爲6811的文件缺失
編號爲6812的文件缺失
編號爲6813的文件缺失
編號爲6814的文件缺失
編號爲6815的文件缺失
編號爲6816的文件缺失
編號爲6817的文件缺失
編號爲6818的文件缺失
編號爲6819的文件缺失
編號爲6820的文件缺失
編號爲6822的文件缺失
編號爲6823的文件缺失
編號爲6824的文件缺失
編號爲6825的文件缺失
編號爲6826的文件缺失
編號爲6827的文件缺失
編號爲6828的文件缺失
編號爲6829的文件缺失
編號爲6830的文件缺失
編號爲6831的文件缺失
編號爲6832的文件缺失
編號爲6833的文件缺失
編號爲6834的文件缺失
編號爲6835的文件缺失
編號爲6836的文件缺失
編號爲6837的文件缺失
編號爲6838的文件缺失
編號爲6839的文件缺失
編號爲6840的文件缺失
編號爲6841的文件缺失
編號爲6842的文件缺失
編號爲6843的文件缺失
編號爲6844的文件缺失
編號爲6845的文件缺失
編號爲6846的文件缺失
編號爲6847的文件缺失
編號爲6848的文件缺失
編號爲6849的文件缺失
編號爲6850的文件缺失
編號爲6851的文件缺失
編號爲6852的文件缺失
編號爲6853的文件缺失
編號爲6854的文件缺失
編號爲6855的文件缺失
編號爲6856的文件缺失
編號爲6857的文件缺失
編號爲6858的文件缺失
編號爲6859的文件缺失
編號爲6860的文件缺失
編號爲6861的文件缺失
編號爲6862的文件缺失
編號爲6863的文件缺失
編號爲6864的文件缺失
編號爲6865的文件缺失
編號爲6866的文件缺失
編號爲6867的文件缺失
編號爲6868的文件缺失
編號爲6869的文件缺失
編號爲6870的文件缺失
編號爲6871的文件缺失
編號爲6872的文件缺失
編號爲6873的文件缺失
編號爲6874的文件缺失
編號爲6875的文件缺失
編號爲6876的文件缺失
編號爲6877的文件缺失
編號爲6878的文件缺失
編號爲6881的文件缺失
編號爲6882的文件缺失
編號爲6883的文件缺失
編號爲6884的文件缺失
編號爲6885的文件缺失
編號爲6886的文件缺失
編號爲6887的文件缺失
編號爲6888的文件缺失
編號爲6889的文件缺失
編號爲6890的文件缺失
編號爲6891的文件缺失
編號爲6892的文件缺失
編號爲6893的文件缺失
編號爲6894的文件缺失
編號爲6895的文件缺失
編號爲6896的文件缺失
編號爲6897的文件缺失
編號爲6898的文件缺失
編號爲6899的文件缺失
編號爲6900的文件缺失
編號爲6901的文件缺失
編號爲6902的文件缺失
編號爲6903的文件缺失
編號爲6904的文件缺失
編號爲6905的文件缺失
編號爲6906的文件缺失
編號爲6907的文件缺失
編號爲6908的文件缺失
編號爲6909的文件缺失
編號爲6910的文件缺失
編號爲6911的文件缺失
編號爲6912的文件缺失
編號爲6913的文件缺失
編號爲6914的文件缺失
編號爲6915的文件缺失
編號爲6916的文件缺失
編號爲6917的文件缺失
編號爲6918的文件缺失
編號爲6919的文件缺失
編號爲6920的文件缺失
編號爲6921的文件缺失
編號爲6922的文件缺失
編號爲6923的文件缺失
編號爲6925的文件缺失
編號爲6926的文件缺失
編號爲6928的文件缺失
編號爲6929的文件缺失
編號爲6930的文件缺失
編號爲6931的文件缺失
編號爲6932的文件缺失
編號爲6933的文件缺失
編號爲6934的文件缺失
編號爲6935的文件缺失
編號爲6936的文件缺失
編號爲6937的文件缺失
編號爲6938的文件缺失
編號爲6939的文件缺失
編號爲6940的文件缺失
編號爲6941的文件缺失
編號爲6942的文件缺失
編號爲6943的文件缺失
編號爲6944的文件缺失
編號爲6945的文件缺失
編號爲6946的文件缺失
編號爲6947的文件缺失
編號爲6948的文件缺失
編號爲6949的文件缺失
編號爲6950的文件缺失
編號爲6951的文件缺失
編號爲6952的文件缺失
編號爲6953的文件缺失
編號爲6954的文件缺失
編號爲6955的文件缺失
編號爲6956的文件缺失
編號爲6957的文件缺失
編號爲6958的文件缺失
編號爲6959的文件缺失
編號爲6960的文件缺失
編號爲6961的文件缺失
編號爲6962的文件缺失
編號爲6963的文件缺失
編號爲6964的文件缺失
編號爲6965的文件缺失
編號爲6966的文件缺失
編號爲6967的文件缺失
編號爲6968的文件缺失
編號爲6969的文件缺失
編號爲7342的文件缺失
編號爲7344的文件缺失
編號爲7346的文件缺失
編號爲7348的文件缺失
編號爲7349的文件缺失
編號爲7350的文件缺失
編號爲7352的文件缺失
編號爲7353的文件缺失
編號爲7355的文件缺失
編號爲7356的文件缺失
編號爲7357的文件缺失
編號爲7358的文件缺失
編號爲7359的文件缺失
編號爲7360的文件缺失
編號爲7361的文件缺失
編號爲7362的文件缺失
編號爲7363的文件缺失
編號爲7364的文件缺失
編號爲7365的文件缺失
編號爲7366的文件缺失
編號爲7367的文件缺失
編號爲7368的文件缺失
編號爲7370的文件缺失
編號爲7372的文件缺失
編號爲7373的文件缺失
編號爲7374的文件缺失
編號爲7375的文件缺失
編號爲7376的文件缺失
編號爲7377的文件缺失
編號爲7378的文件缺失
編號爲7379的文件缺失
編號爲7380的文件缺失
編號爲7381的文件缺失
編號爲7382的文件缺失
編號爲7383的文件缺失
編號爲7384的文件缺失
編號爲7385的文件缺失
編號爲7386的文件缺失
編號爲7387的文件缺失
編號爲7388的文件缺失
編號爲7389的文件缺失
編號爲7390的文件缺失
編號爲7391的文件缺失
編號爲7392的文件缺失
編號爲7394的文件缺失
編號爲7395的文件缺失
編號爲7396的文件缺失
編號爲7397的文件缺失
編號爲7398的文件缺失
編號爲7399的文件缺失
編號爲7400的文件缺失
編號爲7401的文件缺失
編號爲7402的文件缺失
編號爲7403的文件缺失
編號爲7404的文件缺失
編號爲7405的文件缺失
編號爲7406的文件缺失
編號爲7407的文件缺失
編號爲7408的文件缺失
編號爲7409的文件缺失
編號爲7411的文件缺失
編號爲7413的文件缺失
編號爲7414的文件缺失
編號爲7415的文件缺失
編號爲7416的文件缺失
編號爲7417的文件缺失
編號爲7418的文件缺失
編號爲7419的文件缺失
編號爲7420的文件缺失
編號爲7421的文件缺失
編號爲7422的文件缺失
編號爲7423的文件缺失
編號爲7424的文件缺失
編號爲7425的文件缺失
編號爲7426的文件缺失
編號爲7427的文件缺失
編號爲7428的文件缺失
編號爲7429的文件缺失
編號爲7430的文件缺失
編號爲7431的文件缺失
編號爲7432的文件缺失
編號爲7433的文件缺失
編號爲7436的文件缺失
編號爲7437的文件缺失
編號爲7438的文件缺失
編號爲7439的文件缺失
編號爲7440的文件缺失
編號爲7441的文件缺失
編號爲7442的文件缺失
編號爲7443的文件缺失
編號爲7444的文件缺失
編號爲7445的文件缺失
編號爲7446的文件缺失
編號爲7447的文件缺失
編號爲7448的文件缺失
編號爲7449的文件缺失
編號爲7450的文件缺失
編號爲7451的文件缺失
編號爲7452的文件缺失
編號爲7453的文件缺失
編號爲7472的文件缺失
編號爲7473的文件缺失
編號爲7474的文件缺失
編號爲7475的文件缺失
編號爲7476的文件缺失
編號爲7477的文件缺失
編號爲7481的文件缺失
編號爲7482的文件缺失
編號爲7484的文件缺失
編號爲7485的文件缺失
編號爲7487的文件缺失
編號爲7488的文件缺失
編號爲7491的文件缺失
編號爲7492的文件缺失
編號爲7493的文件缺失
編號爲7494的文件缺失
編號爲7495的文件缺失
編號爲7496的文件缺失
編號爲7497的文件缺失
編號爲7498的文件缺失
編號爲7499的文件缺失
編號爲7500的文件缺失
編號爲7501的文件缺失
編號爲7502的文件缺失
編號爲7503的文件缺失
編號爲7504的文件缺失
編號爲7505的文件缺失
編號爲7506的文件缺失
編號爲7507的文件缺失
編號爲7508的文件缺失
編號爲7509的文件缺失
編號爲7510的文件缺失
編號爲7511的文件缺失
編號爲7513的文件缺失
編號爲7514的文件缺失
編號爲7515的文件缺失
編號爲7516的文件缺失
編號爲7517的文件缺失
編號爲7518的文件缺失
編號爲7519的文件缺失
編號爲7520的文件缺失
編號爲7521的文件缺失
編號爲7522的文件缺失
編號爲7523的文件缺失
編號爲7524的文件缺失
編號爲7525的文件缺失
編號爲7526的文件缺失
編號爲7527的文件缺失
編號爲7528的文件缺失
編號爲7529的文件缺失
編號爲7530的文件缺失
編號爲7531的文件缺失
編號爲7532的文件缺失
編號爲7533的文件缺失
編號爲7534的文件缺失
編號爲7535的文件缺失
編號爲7536的文件缺失
編號爲7537的文件缺失
編號爲7538的文件缺失
編號爲7539的文件缺失
編號爲7540的文件缺失
編號爲7541的文件缺失
編號爲7542的文件缺失
編號爲7543的文件缺失
編號爲7544的文件缺失
編號爲7545的文件缺失
編號爲7546的文件缺失
編號爲7547的文件缺失
編號爲7568的文件缺失
編號爲7578的文件缺失
編號爲7579的文件缺失
編號爲7580的文件缺失
編號爲7581的文件缺失
編號爲7582的文件缺失
編號爲7583的文件缺失
編號爲7585的文件缺失
編號爲7586的文件缺失
編號爲7588的文件缺失
編號爲7589的文件缺失
編號爲7590的文件缺失
編號爲7591的文件缺失
編號爲7593的文件缺失
編號爲7594的文件缺失
編號爲7595的文件缺失
編號爲7596的文件缺失
編號爲7597的文件缺失
編號爲7598的文件缺失
編號爲7599的文件缺失
編號爲7600的文件缺失
編號爲7601的文件缺失
編號爲7602的文件缺失
編號爲7603的文件缺失
編號爲7604的文件缺失
編號爲7605的文件缺失
編號爲7606的文件缺失
編號爲7607的文件缺失
編號爲7608的文件缺失
編號爲7609的文件缺失
編號爲7610的文件缺失
編號爲7611的文件缺失
編號爲7612的文件缺失
編號爲7613的文件缺失
編號爲7614的文件缺失
編號爲7616的文件缺失
編號爲7618的文件缺失
編號爲7619的文件缺失
編號爲7620的文件缺失
編號爲7621的文件缺失
編號爲7622的文件缺失
編號爲7623的文件缺失
編號爲7624的文件缺失
編號爲7625的文件缺失
編號爲7626的文件缺失
編號爲7627的文件缺失
編號爲7628的文件缺失
編號爲7629的文件缺失
編號爲7630的文件缺失
編號爲7631的文件缺失
編號爲7632的文件缺失
編號爲7633的文件缺失
編號爲7634的文件缺失
編號爲7635的文件缺失
編號爲7636的文件缺失
編號爲7637的文件缺失
編號爲7638的文件缺失
編號爲7639的文件缺失
編號爲7640的文件缺失
編號爲7641的文件缺失
編號爲7642的文件缺失
編號爲7643的文件缺失
編號爲7644的文件缺失
編號爲7645的文件缺失
編號爲7646的文件缺失
編號爲7648的文件缺失
編號爲7649的文件缺失
編號爲7650的文件缺失
編號爲7651的文件缺失
編號爲7652的文件缺失
編號爲7653的文件缺失
編號爲7654的文件缺失
編號爲7655的文件缺失
編號爲7656的文件缺失
編號爲7657的文件缺失
編號爲7658的文件缺失
編號爲7659的文件缺失
編號爲7660的文件缺失
編號爲7661的文件缺失
編號爲7662的文件缺失
編號爲7663的文件缺失
編號爲7664的文件缺失
編號爲7665的文件缺失
編號爲7666的文件缺失
編號爲7667的文件缺失
編號爲7668的文件缺失
編號爲7669的文件缺失
編號爲7670的文件缺失
編號爲7671的文件缺失
編號爲7672的文件缺失
編號爲7673的文件缺失
編號爲7674的文件缺失
編號爲7675的文件缺失
編號爲7676的文件缺失
編號爲7677的文件缺失
編號爲7678的文件缺失
編號爲7679的文件缺失
編號爲7680的文件缺失
編號爲7681的文件缺失
編號爲7682的文件缺失
編號爲7683的文件缺失
編號爲7684的文件缺失
編號爲7685的文件缺失
編號爲7686的文件缺失
編號爲7687的文件缺失
編號爲7688的文件缺失
編號爲7689的文件缺失
編號爲7690的文件缺失
編號爲7691的文件缺失
編號爲7692的文件缺失
編號爲7693的文件缺失
編號爲7694的文件缺失
編號爲7695的文件缺失
編號爲7696的文件缺失
編號爲7697的文件缺失
編號爲7698的文件缺失
編號爲7699的文件缺失
編號爲7700的文件缺失
編號爲7701的文件缺失
編號爲7702的文件缺失
編號爲7703的文件缺失
編號爲7704的文件缺失
編號爲7705的文件缺失
編號爲7706的文件缺失
編號爲7707的文件缺失
編號爲7708的文件缺失
編號爲7709的文件缺失
編號爲7710的文件缺失
編號爲7711的文件缺失
編號爲7712的文件缺失
編號爲7713的文件缺失
編號爲7715的文件缺失
編號爲7717的文件缺失
編號爲7718的文件缺失
編號爲7719的文件缺失
編號爲7720的文件缺失
編號爲7721的文件缺失
編號爲7722的文件缺失
編號爲7723的文件缺失
編號爲7724的文件缺失
編號爲7725的文件缺失
編號爲7726的文件缺失
編號爲7727的文件缺失
編號爲7728的文件缺失
編號爲7729的文件缺失
編號爲7730的文件缺失
編號爲7731的文件缺失
編號爲7732的文件缺失
編號爲7733的文件缺失
編號爲7734的文件缺失
編號爲7735的文件缺失
編號爲7736的文件缺失
編號爲7737的文件缺失
編號爲7738的文件缺失
編號爲7739的文件缺失
編號爲7740的文件缺失
編號爲7741的文件缺失
編號爲7742的文件缺失
編號爲7743的文件缺失
編號爲7744的文件缺失
編號爲7745的文件缺失
編號爲7746的文件缺失
編號爲7747的文件缺失
編號爲7748的文件缺失
編號爲7749的文件缺失
編號爲7750的文件缺失
編號爲7751的文件缺失
編號爲7752的文件缺失
編號爲7753的文件缺失
編號爲7754的文件缺失
編號爲7755的文件缺失
編號爲7756的文件缺失
編號爲7757的文件缺失
編號爲7758的文件缺失
編號爲7759的文件缺失
編號爲7760的文件缺失
編號爲7761的文件缺失
編號爲7762的文件缺失
編號爲7763的文件缺失
編號爲7764的文件缺失
編號爲7765的文件缺失
編號爲7766的文件缺失
編號爲7767的文件缺失
編號爲7768的文件缺失
編號爲7769的文件缺失
編號爲7770的文件缺失
編號爲7771的文件缺失
編號爲7772的文件缺失
編號爲7773的文件缺失
編號爲7776的文件缺失
編號爲7777的文件缺失
編號爲7778的文件缺失
編號爲7779的文件缺失
編號爲7780的文件缺失
編號爲7781的文件缺失
編號爲7782的文件缺失
編號爲7783的文件缺失
編號爲7784的文件缺失
編號爲7785的文件缺失
編號爲7786的文件缺失
編號爲7787的文件缺失
編號爲7788的文件缺失
編號爲7789的文件缺失
編號爲7790的文件缺失
編號爲7791的文件缺失
編號爲7792的文件缺失
編號爲7793的文件缺失
編號爲7794的文件缺失
編號爲7795的文件缺失
編號爲7796的文件缺失
編號爲7797的文件缺失
編號爲7798的文件缺失
編號爲7799的文件缺失
編號爲7800的文件缺失
編號爲7801的文件缺失
編號爲7802的文件缺失
編號爲7803的文件缺失
編號爲7804的文件缺失
編號爲7805的文件缺失
編號爲7806的文件缺失
編號爲7807的文件缺失
編號爲7808的文件缺失
編號爲7809的文件缺失
編號爲7810的文件缺失
編號爲7811的文件缺失
編號爲7812的文件缺失
編號爲7813的文件缺失
編號爲7814的文件缺失
編號爲7815的文件缺失
編號爲7816的文件缺失
編號爲7817的文件缺失
編號爲7818的文件缺失
編號爲7819的文件缺失
編號爲7820的文件缺失
編號爲7821的文件缺失
編號爲7822的文件缺失
編號爲7823的文件缺失
編號爲7824的文件缺失
編號爲7825的文件缺失
編號爲7826的文件缺失
編號爲7827的文件缺失
編號爲7828的文件缺失
編號爲7830的文件缺失
編號爲7831的文件缺失
編號爲7832的文件缺失
編號爲7833的文件缺失
編號爲7834的文件缺失
編號爲7835的文件缺失
編號爲7836的文件缺失
編號爲7837的文件缺失
編號爲7838的文件缺失
編號爲7839的文件缺失
編號爲7840的文件缺失
編號爲7841的文件缺失
編號爲7842的文件缺失
編號爲7843的文件缺失
編號爲7844的文件缺失
編號爲7845的文件缺失
編號爲7846的文件缺失
編號爲7847的文件缺失
編號爲7848的文件缺失
編號爲7849的文件缺失
編號爲7850的文件缺失
編號爲7851的文件缺失
編號爲7852的文件缺失
編號爲7853的文件缺失
編號爲7854的文件缺失
編號爲7855的文件缺失
編號爲7856的文件缺失
編號爲7857的文件缺失
編號爲7858的文件缺失
編號爲7859的文件缺失
編號爲7860的文件缺失
編號爲7861的文件缺失
編號爲7862的文件缺失
編號爲7863的文件缺失
編號爲7864的文件缺失
編號爲7865的文件缺失
編號爲7866的文件缺失
編號爲7867的文件缺失
編號爲7868的文件缺失
編號爲7869的文件缺失
編號爲7870的文件缺失
編號爲7871的文件缺失
編號爲7872的文件缺失
編號爲7873的文件缺失
編號爲7874的文件缺失
編號爲7875的文件缺失
編號爲7876的文件缺失
編號爲7877的文件缺失
編號爲7878的文件缺失
編號爲7879的文件缺失
編號爲7880的文件缺失
編號爲7881的文件缺失
編號爲7882的文件缺失
編號爲7883的文件缺失
編號爲7884的文件缺失
編號爲7885的文件缺失
編號爲7888的文件缺失
編號爲7889的文件缺失
編號爲7890的文件缺失
編號爲7891的文件缺失
編號爲7892的文件缺失
編號爲7893的文件缺失
編號爲7894的文件缺失
編號爲7895的文件缺失
編號爲7896的文件缺失
編號爲7897的文件缺失
編號爲7898的文件缺失
編號爲7899的文件缺失
編號爲7900的文件缺失
編號爲7901的文件缺失
編號爲7902的文件缺失
編號爲7903的文件缺失
編號爲7904的文件缺失
編號爲7905的文件缺失
編號爲7906的文件缺失
編號爲7907的文件缺失
編號爲7908的文件缺失
編號爲7909的文件缺失
編號爲7910的文件缺失
編號爲7911的文件缺失
編號爲7912的文件缺失
編號爲7913的文件缺失
編號爲7914的文件缺失
編號爲7915的文件缺失
編號爲7916的文件缺失
編號爲7917的文件缺失
編號爲7918的文件缺失
編號爲7919的文件缺失
編號爲7920的文件缺失
編號爲7921的文件缺失
編號爲7922的文件缺失
編號爲7923的文件缺失
編號爲7924的文件缺失
編號爲7925的文件缺失
編號爲7926的文件缺失
編號爲7927的文件缺失
編號爲7928的文件缺失
編號爲7929的文件缺失
編號爲7930的文件缺失
編號爲7931的文件缺失
編號爲7932的文件缺失
編號爲7933的文件缺失
編號爲7934的文件缺失
編號爲7935的文件缺失
編號爲7936的文件缺失
編號爲7937的文件缺失
編號爲7938的文件缺失
編號爲7939的文件缺失
編號爲7940的文件缺失
編號爲7941的文件缺失
編號爲7942的文件缺失
編號爲7943的文件缺失
編號爲7944的文件缺失
編號爲7945的文件缺失
編號爲7946的文件缺失
編號爲7947的文件缺失
編號爲7948的文件缺失
編號爲7950的文件缺失
編號爲7951的文件缺失
編號爲7952的文件缺失
編號爲7953的文件缺失
編號爲7954的文件缺失
編號爲7956的文件缺失
編號爲7957的文件缺失
編號爲7958的文件缺失
編號爲7959的文件缺失
編號爲7960的文件缺失
編號爲7961的文件缺失
編號爲7962的文件缺失
編號爲7963的文件缺失
編號爲7964的文件缺失
編號爲7965的文件缺失
編號爲7966的文件缺失
編號爲7967的文件缺失
編號爲7968的文件缺失
編號爲7969的文件缺失
編號爲7970的文件缺失
編號爲7971的文件缺失
編號爲7972的文件缺失
編號爲7973的文件缺失
編號爲7974的文件缺失
編號爲7975的文件缺失
編號爲7976的文件缺失
編號爲7977的文件缺失
編號爲7978的文件缺失
編號爲7979的文件缺失
編號爲7980的文件缺失
編號爲7981的文件缺失
編號爲7982的文件缺失
編號爲7989的文件缺失
編號爲7990的文件缺失
編號爲7991的文件缺失
編號爲7993的文件缺失
編號爲9106的文件缺失
編號爲9107的文件缺失
編號爲9108的文件缺失
編號爲9109的文件缺失
編號爲9110的文件缺失
編號爲9111的文件缺失
編號爲9112的文件缺失
編號爲9113的文件缺失
編號爲9114的文件缺失
編號爲9115的文件缺失
編號爲9116的文件缺失
編號爲9117的文件缺失
編號爲9118的文件缺失
編號爲9119的文件缺失
編號爲9120的文件缺失
編號爲9121的文件缺失
編號爲9122的文件缺失
編號爲9123的文件缺失
編號爲9124的文件缺失
編號爲9125的文件缺失
編號爲9127的文件缺失
編號爲9128的文件缺失
編號爲9130的文件缺失
編號爲9131的文件缺失
編號爲9132的文件缺失
編號爲9133的文件缺失
編號爲9134的文件缺失
編號爲9135的文件缺失
編號爲9138的文件缺失
編號爲9139的文件缺失
編號爲9140的文件缺失
編號爲9141的文件缺失
編號爲9142的文件缺失
編號爲9143的文件缺失
編號爲9144的文件缺失
編號爲9145的文件缺失
編號爲9146的文件缺失
編號爲9147的文件缺失
編號爲9148的文件缺失
編號爲9149的文件缺失
編號爲9150的文件缺失
編號爲9151的文件缺失
編號爲9152的文件缺失
編號爲9153的文件缺失
編號爲9154的文件缺失
編號爲9155的文件缺失
編號爲9156的文件缺失
編號爲9157的文件缺失
編號爲9158的文件缺失
編號爲9159的文件缺失
編號爲9160的文件缺失
編號爲9161的文件缺失
編號爲9162的文件缺失
編號爲9163的文件缺失
編號爲9164的文件缺失
編號爲9165的文件缺失
編號爲9166的文件缺失
編號爲9167的文件缺失
編號爲9168的文件缺失
編號爲9170的文件缺失
編號爲9171的文件缺失
編號爲9172的文件缺失
編號爲9173的文件缺失
編號爲9174的文件缺失
編號爲9175的文件缺失
編號爲9176的文件缺失
編號爲9177的文件缺失
編號爲9178的文件缺失
編號爲9179的文件缺失
編號爲9180的文件缺失
編號爲9181的文件缺失
編號爲9182的文件缺失
編號爲9183的文件缺失
編號爲9184的文件缺失
編號爲9185的文件缺失
編號爲9186的文件缺失
編號爲9187的文件缺失
編號爲9188的文件缺失
編號爲9189的文件缺失
編號爲9190的文件缺失
編號爲9191的文件缺失
編號爲9192的文件缺失
編號爲9223的文件缺失
編號爲9224的文件缺失
編號爲9225的文件缺失
編號爲9226的文件缺失
編號爲9229的文件缺失
編號爲9230的文件缺失
編號爲9231的文件缺失
編號爲9233的文件缺失
編號爲9235的文件缺失
編號爲9236的文件缺失
編號爲9237的文件缺失
編號爲9239的文件缺失
編號爲9240的文件缺失
編號爲9241的文件缺失
編號爲9242的文件缺失
編號爲9243的文件缺失
編號爲9244的文件缺失
編號爲9245的文件缺失
編號爲9246的文件缺失
編號爲9247的文件缺失
編號爲9248的文件缺失
編號爲9249的文件缺失
編號爲9250的文件缺失
編號爲9251的文件缺失
編號爲9252的文件缺失
編號爲9253的文件缺失
編號爲9254的文件缺失
編號爲9255的文件缺失
編號爲9256的文件缺失
編號爲9257的文件缺失
編號爲9258的文件缺失
編號爲9259的文件缺失
編號爲9260的文件缺失
編號爲9261的文件缺失
編號爲9262的文件缺失
編號爲9263的文件缺失
編號爲9264的文件缺失
編號爲9265的文件缺失
編號爲9266的文件缺失
編號爲9267的文件缺失
編號爲9268的文件缺失
編號爲9269的文件缺失
編號爲9270的文件缺失
編號爲9271的文件缺失
編號爲9272的文件缺失
編號爲9273的文件缺失
編號爲9274的文件缺失
編號爲9276的文件缺失
編號爲9277的文件缺失
編號爲9279的文件缺失
編號爲9280的文件缺失
編號爲9281的文件缺失
編號爲9282的文件缺失
編號爲9283的文件缺失
編號爲9284的文件缺失
編號爲9285的文件缺失
編號爲9286的文件缺失
編號爲9287的文件缺失
編號爲9288的文件缺失
編號爲9289的文件缺失
編號爲9290的文件缺失
編號爲9291的文件缺失
編號爲9292的文件缺失
編號爲9293的文件缺失
編號爲9294的文件缺失
編號爲9295的文件缺失
編號爲9296的文件缺失
編號爲9297的文件缺失
編號爲9298的文件缺失
編號爲9299的文件缺失
編號爲9300的文件缺失
編號爲9301的文件缺失
編號爲9302的文件缺失
編號爲9303的文件缺失
編號爲9304的文件缺失
編號爲9305的文件缺失
編號爲9306的文件缺失
編號爲9307的文件缺失
編號爲9308的文件缺失
編號爲9309的文件缺失
編號爲9310的文件缺失
編號爲9311的文件缺失
編號爲9312的文件缺失
編號爲9313的文件缺失
編號爲9314的文件缺失
編號爲9316的文件缺失
編號爲9318的文件缺失
編號爲9319的文件缺失
編號爲9320的文件缺失
編號爲9321的文件缺失
編號爲9322的文件缺失
編號爲9323的文件缺失
編號爲9324的文件缺失
編號爲9325的文件缺失
編號爲9326的文件缺失
編號爲9327的文件缺失
編號爲9328的文件缺失
編號爲9329的文件缺失
編號爲9330的文件缺失
編號爲9331的文件缺失
編號爲9332的文件缺失
編號爲9333的文件缺失
編號爲9334的文件缺失
編號爲9335的文件缺失
編號爲9336的文件缺失
編號爲9337的文件缺失
編號爲9338的文件缺失
編號爲9339的文件缺失
編號爲9340的文件缺失
編號爲9341的文件缺失
編號爲9342的文件缺失
編號爲9343的文件缺失
編號爲9344的文件缺失
編號爲9345的文件缺失
編號爲9346的文件缺失
編號爲9347的文件缺失
編號爲9348的文件缺失
編號爲9349的文件缺失
編號爲9350的文件缺失
編號爲9351的文件缺失
編號爲9352的文件缺失
編號爲9353的文件缺失
編號爲9354的文件缺失
編號爲9356的文件缺失
編號爲9357的文件缺失
編號爲9358的文件缺失
編號爲9359的文件缺失
編號爲9360的文件缺失
編號爲9361的文件缺失
編號爲9362的文件缺失
編號爲9363的文件缺失
編號爲9364的文件缺失
編號爲9365的文件缺失
編號爲9366的文件缺失
編號爲9367的文件缺失
編號爲9368的文件缺失
編號爲9369的文件缺失
編號爲9370的文件缺失
編號爲9371的文件缺失
編號爲9372的文件缺失
編號爲9373的文件缺失
編號爲9374的文件缺失
編號爲9375的文件缺失
編號爲9376的文件缺失
編號爲9377的文件缺失
編號爲9378的文件缺失
編號爲9379的文件缺失
編號爲9380的文件缺失
編號爲9381的文件缺失
編號爲9382的文件缺失
編號爲9383的文件缺失
編號爲9384的文件缺失
編號爲9385的文件缺失
編號爲9386的文件缺失
編號爲9387的文件缺失
編號爲9388的文件缺失
編號爲9587的文件缺失
編號爲9588的文件缺失
編號爲9589的文件缺失
編號爲9590的文件缺失
編號爲9591的文件缺失
編號爲9592的文件缺失
編號爲9593的文件缺失
編號爲9594的文件缺失
編號爲9595的文件缺失
編號爲9597的文件缺失
編號爲9598的文件缺失
編號爲9600的文件缺失
編號爲9601的文件缺失
編號爲9602的文件缺失
編號爲9603的文件缺失
編號爲9604的文件缺失
編號爲9605的文件缺失
編號爲9606的文件缺失
編號爲9607的文件缺失
編號爲9608的文件缺失
編號爲9609的文件缺失
編號爲9610的文件缺失
編號爲9611的文件缺失
編號爲9612的文件缺失
編號爲9613的文件缺失
編號爲9614的文件缺失
編號爲9615的文件缺失
編號爲9616的文件缺失
編號爲9617的文件缺失
編號爲9618的文件缺失
編號爲9619的文件缺失
編號爲9620的文件缺失
編號爲9621的文件缺失
編號爲9622的文件缺失
編號爲9623的文件缺失
編號爲9624的文件缺失
編號爲9625的文件缺失
編號爲9626的文件缺失
編號爲9627的文件缺失
編號爲9628的文件缺失
編號爲9629的文件缺失
編號爲9630的文件缺失
編號爲9632的文件缺失
編號爲9633的文件缺失
編號爲9635的文件缺失
編號爲9636的文件缺失
編號爲9637的文件缺失
編號爲9638的文件缺失
編號爲9639的文件缺失
編號爲9640的文件缺失
編號爲9641的文件缺失
編號爲9642的文件缺失
編號爲9643的文件缺失
編號爲9644的文件缺失
編號爲9645的文件缺失
編號爲9646的文件缺失
編號爲9647的文件缺失
編號爲9648的文件缺失
編號爲9649的文件缺失
編號爲9650的文件缺失
編號爲9651的文件缺失
編號爲9652的文件缺失
編號爲9653的文件缺失
編號爲9654的文件缺失
編號爲9655的文件缺失
編號爲9656的文件缺失
編號爲9657的文件缺失
編號爲9658的文件缺失
編號爲9659的文件缺失
編號爲9660的文件缺失
編號爲9661的文件缺失
編號爲9662的文件缺失
編號爲9663的文件缺失
編號爲9664的文件缺失
編號爲9665的文件缺失
編號爲9666的文件缺失
編號爲9667的文件缺失
編號爲9668的文件缺失
編號爲9669的文件缺失
編號爲9670的文件缺失
編號爲9671的文件缺失
編號爲9672的文件缺失
編號爲9673的文件缺失
編號爲9674的文件缺失
編號爲9675的文件缺失
編號爲9676的文件缺失
編號爲9677的文件缺失
編號爲9678的文件缺失
編號爲9679的文件缺失
編號爲9680的文件缺失
編號爲9681的文件缺失
編號爲9682的文件缺失
編號爲9683的文件缺失
編號爲9685的文件缺失
編號爲9686的文件缺失
編號爲9687的文件缺失
編號爲9688的文件缺失
編號爲9689的文件缺失
編號爲9690的文件缺失
編號爲9691的文件缺失
編號爲9692的文件缺失
編號爲9693的文件缺失
編號爲9694的文件缺失
編號爲9695的文件缺失
編號爲9696的文件缺失
編號爲9697的文件缺失
編號爲9698的文件缺失
編號爲9699的文件缺失
編號爲9700的文件缺失
編號爲9702的文件缺失
編號爲9704的文件缺失
總計有2381個文件缺失
總計有146727條數據.

C:\Users\horn1\Desktop\node.js\66-理想論壇爬蟲1.09 - insertdb.js>python insertDB.py
擬向數據庫插入146727條記錄
已向數據庫插入146727條記錄
插數據用時40秒

 

進行檢查的checkfiles.jspython

 

//======================================================
// 在理想論壇帖子下載爬蟲生成數據文件後進行檢查
// 2018年5月6日
//======================================================
var fs=require('fs');    // 內置文件處理模塊
var allfiles=[];        // 所有數據文件列表
var allInfos=[];        // 數據文件裏得到的所有信息


//--------------------------------------
// 通用函數,返回當前日期時間 數據庫記錄時間用
//--------------------------------------
function currTime() {
    var date = new Date();
    var seperator1 = "-";
    var seperator2 = ":";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate =date.getFullYear() + seperator1 + month + seperator1 + strDate
            + " " + date.getHours() + seperator2 + date.getMinutes()
            + seperator2 + date.getSeconds()+ " ";
    return currentdate;
}

//-------------------------------
// 獲得帶顏色(前景色)的文字,用於在控制檯輸出
// text:文字,color:前景色
//-------------------------------
function coloredText(text,color){
    var dic = new Array();

    dic["white"] = ['\x1B[37m', '\x1B[39m'];
    dic["grey"] = ['\x1B[90m', '\x1B[39m'];
    dic["black"] = ['\x1B[30m', '\x1B[39m'];
    dic["blue"] = ['\x1B[34m', '\x1B[39m'];
    dic["cyan"] = ['\x1B[36m', '\x1B[39m'];
    dic["green"] = ['\x1B[32m', '\x1B[39m'];
    dic["magenta"] = ['\x1B[35m', '\x1B[39m'];
    dic["red"] = ['\x1B[31m', '\x1B[39m'];
    dic["yellow"] = ['\x1B[33m', '\x1B[39m'];

    return dic[color][0]+text+dic[color][1];
}

function readFiles(){
    if(allfiles.length>0){
        var file=allfiles.pop();

        fs.readFile(file,'utf8',function(err,data){
            if(err){
                console.log('讀取文件失敗,由於'+err);
            }else{
                var infos=JSON.parse(data);
                allInfos=allInfos.concat(infos);   
            }

            readFiles();
        });
    }else{
        console.log('總計有'+allInfos.length+"條數據.");
    }
}

//--------------------------------------
// 入口函數
//--------------------------------------
function main() {
    folder='./2018-05-06 21_36_5';// 數據文件所在目錄

    fs.readdir(folder,function(err,files){
        if(err) throw err;
        
        // 預製查找數組
        var arr=new Array(9788-1);// 20563是總文件個數,從lixiang.js的輸出能夠找到,-1由於文件序號從0起
        for(var i=0;i<arr.length;i++){
            arr[i]=0;
        }

        // 只遍歷一遍
        for(var index in files){
            var arrTmp=files[index].split(".");
            var sn=parseInt(arrTmp[0],10);
            arr[sn]=1;

            allfiles.push(folder+'/'+files[index]);
        }

        // 查哪一個缺失
        var missed=0;
        for(var i=0;i<arr.length;i++){
            if(arr[i]==0){    // 爲零的就是沒找到該編號對應的文件的
                console.log(coloredText('編號爲'+i+'的文件缺失','yellow'));
                missed++;
            }
        }
        console.log(coloredText('總計有'+missed+'個文件缺失','red'));

        readFiles();
    });    
}

// 開始
main();

 

進行插DB的insertDB.pymysql

 

#------------------------------------------------------------------------------------
# insertDB1.01,讀取理想論壇爬蟲生成的數據,而後寫入DB
# 2018年4月29日
#------------------------------------------------------------------------------------
import pymysql
import time
import datetime
import os
import json

#------------------------------------
# 取得當前時間
#------------------------------------
def currTime():
    currTime=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
    return currTime

#------------------------------------
# 入口函數
#------------------------------------
def main(folder):
    starttime = datetime.datetime.now()

    # 打開目錄從文件裏取數據
    allinfos=[]
    for filename in os.listdir(folder):
        filePathname=folder+"/"+filename

        with open(filePathname,'r',encoding='utf-8') as fObj:
            infos=json.load(fObj)
            #print("此時info="+str(infos))
            allinfos.extend(infos)
    print("擬向數據庫插入"+str(len(allinfos))+"條記錄")

    # 打開數據庫並插值
    conn=pymysql.connect(host='127.0.0.1',user='root',passwd='12345678',db='test',charset='utf8')
    cur=conn.cursor();

    sum=0
    for info in allinfos:
        try:
            arr=[info['樓層'],info['做者'],info['日期'],info['時間'],currTime(),info['url'],info['title'],info['內容']]
            count=cur.execute('insert into test.topic18(floor,author,tdate,ttime,addtime,url,title,content) values (%s,%s,%s,%s,%s,%s,%s,%s)',arr)
            sum+=count
        except Exception as e:
            print("出現異常:"+str(e)+",此時info="+str(info))
            continue;

    conn.commit()
    conn.close()

    print("已向數據庫插入"+str(sum)+"條記錄")

    # 計算用時
    endtime = datetime.datetime.now()
    print("插數據用時"+str((endtime - starttime).seconds)+"")

# 開始
main("./2018-05-06 21_36_5")

 

2018年5月6日22點31分jquery

相關文章
相關標籤/搜索