sniffer.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. var $ = require("cheerio");
  2. var request = require('request');
  3. var agent = require("socks5-http-client/lib/Agent");
  4. var fs = require('fs');
  5. var ListHandler = require('./listhandler.js');
  6. var ComicHandler = require('./comichandler.js');
  7. require('./config.js');
  8. var loadCategory = 12;
  9. var CheckLibsTimer = setInterval(checkLibs,1000);
  10. setInterval(function(){},1000000);
  11. // getCategories(getList);
  12. function getCategories(callback){
  13. var options = {
  14. url:ApiURL.category
  15. // agentClass:agent,
  16. // agentOption:{
  17. // socksHost:'127.0.0.1',
  18. // socksPort:1080
  19. // }
  20. };
  21. request(options,function(error,response,body){
  22. if(!error && body){
  23. var oldData = JSON.parse(body);
  24. for(var i in oldData){
  25. var ListObj = oldData[i];
  26. CategoryLib[ListObj.id] = {
  27. id:ListObj.id,
  28. name:ListObj.name,
  29. length:ListObj.all_comics
  30. };
  31. }
  32. fs.writeFileSync('./temp/Category.json',JSON.stringify(CategoryLib),'UTF-8');
  33. if(callback){
  34. callback.call(this);
  35. }
  36. }
  37. });
  38. }
  39. function getList(){
  40. new ListHandler(12,1);
  41. }
  42. getTempLib();
  43. function getTempLib(){
  44. var data;
  45. if(fs.existsSync('./temp/Category.json')){
  46. data = fs.readFileSync('./temp/Category.json');
  47. CategoryLib = JSON.parse(data);
  48. }else{
  49. getCategories();
  50. }
  51. if(fs.existsSync('./temp/Category_'+loadCategory+'.json')){
  52. data = fs.readFileSync('./temp/Category_'+loadCategory+'.json');
  53. ListLib = JSON.parse(data);
  54. }else{
  55. new ListHandler(loadCategory);
  56. }
  57. }
  58. function checkLibs(){
  59. if(CategoryLib && ListLib){
  60. clearInterval(CheckLibsTimer);
  61. ComicHandler.start();
  62. }
  63. }