1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- var $ = require("cheerio");
- var request = require('request');
- var agent = require("socks5-http-client/lib/Agent");
- var fs = require('fs');
- require('./config.js');
- var ListHandler = function(CategoryID,StartPage,callback){
- var ListData = {};
- var PAGE = StartPage?StartPage:1;
- var CID = CategoryID?CategoryID:1;
- var total = 0;
- var ListTree = [];
- getlist();
- function getlist(){
- var url = ApiURL.list.replace('{CID}',CID).replace('{PAGE}',PAGE);
- var options = {
- url:url
- // agentClass:agent,
- // agentOption:{
- // socksHost:'127.0.0.1',
- // socksPort:1080
- // }
- };
- request(options,function(error,response,body){
- if(!error && body){
- var oldData = JSON.parse(body);
- if(oldData.length>0){
- for(var i in oldData){
- var ListObj = oldData[i];
- ListData[ListObj.id] = {
- id:ListObj.id,
- name:ListObj.name,
- total:ListObj.total_page
- };
- ListTree.push(ListObj.id);
- total++;
- }
- console.log('PAGE [ '+PAGE+' ] DONE');
- PAGE++;
- getlist();
- }else{
- PAGE--;
- ListData['total'] = total;
- ListData['tree'] = ListTree;
- saveTemp();
- }
- }else{
- console.log('List read error: ',CID,PAGE);
- }
- });
- }
- function saveTemp(){
- fs.writeFileSync('./temp/Category_'+CID+'.json',JSON.stringify(ListData),'UTF-8');
- ListLib = ListData;
- console.log('Category '+CID+' with '+PAGE+' pages DONE!');
- if(callback){
- callback.call(this);
- }
- }
- };
- module.exports = ListHandler;
|