sniffer.js 1.9 KB

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