root2

Long_data_table_on_the_statistics_page

Aug 1st, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //  "script" "limit" "unit" (deposits or cashouts) like so:
  2. // phantomjs this_script 3 cashouts >/dev/stdout
  3.  
  4. function to_evaluate(args){
  5. // register AJAX prefilter : options, original options
  6. $.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
  7.    // overwrite error handler for current request
  8.    options.error = function( _jqXHR, _textStatus, _errorThrown ){
  9.       // Call AJAX again with original options
  10.       $.ajax(originalOptions);};});
  11.  
  12. var start =new Date(), end, units = [ [],[] ];// unit / page.
  13.  
  14. var page=2,limit=args[1];
  15. function run(unit,page_num){
  16. $.ajax({ type: 'GET',
  17.             url: 'https://banana.fund'+unit+'/?page='+page_num,
  18.             dataType: 'html',
  19.             success: function (data) {
  20. if(/(cashouts)/gi.test(unit)){var num=1;}else{var num=0;}
  21. document.querySelectorAll('div.ajax-widget.panel-body')[num].innerHTML+=data;
  22. document.querySelectorAll('div.text-center > ul.pagination')[num].parentNode.remove();
  23. units[num][page]=document.querySelectorAll('div.ajax-widget.panel-body')[num].querySelectorAll('table.table')[1].childNodes[3].innerHTML;
  24. post_processing(num);
  25.             }
  26.         });
  27. }run('/statistics/'+args[2],page); //deposits or cashouts
  28.  
  29. function post_processing(unit_num){
  30. var x=document.querySelectorAll('div.ajax-widget.panel-body')[unit_num].querySelectorAll('table.table');x[1].remove();
  31. console.log('Page: '+page);if(page<limit){page++;run('/statistics/'+args[2],page);} else{for(var i=0;i<units[unit_num].length;i++){if(units[unit_num][i]){x[0].innerHTML+=units[unit_num][i];units[unit_num][i]=''}}  var trs=[],j,k=x[0].querySelectorAll('tr');for(j=1;j<k.length;j++){k[j].children[0].innerHTML=j+" - "+k[j].children[0].innerHTML}end=new Date();console.log('The operation lasted: '+(end.getTime()-start.getTime())+' ms\n'+end+'\n');}
  32. }
  33. }
  34.  
  35. //document.cookie ="laravel_session=MGEyOTBlYT...ETIifQ%3D%3D; path=/; domain=banana.fund; secure=true; expires=Tue, 19 Jan 2038 03:14:07 GMT;"
  36.  
  37. var key;
  38. key='MGEyOTBlYT...ETIifQ%3D%3D';
  39.  
  40. phantom.cookies = [{
  41.   'name'     : 'laravel_session',  
  42.   'value'    : key,  
  43.   'domain'   : 'banana.fund',        
  44.   'path'     : '/',
  45.   'httponly' : false,
  46.   'secure'   : true,
  47.   'expires'  : (new Date()).getTime() + (1000 * 60 * 60 * 43800) //5 years
  48. }];
  49.  
  50. var url = 'https://banana.fund/statistics';
  51. var fs = require('fs');
  52. var args = require('system').args;
  53.  
  54. var page=require('webpage').create({viewportSize:{width: 1600,height: 900},
  55. settings:{userAgent:'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',
  56. javascriptEnabled:true,
  57. loadImages:true
  58. }});
  59.  
  60. page.onConsoleMessage = function(msg, lineNum, sourceId){console.log('CONSOLE: '+msg);
  61. if(/(The operation lasted)(.*)?/gi.test(msg)){finish()}};
  62.       // start
  63.       page.open(url, function (){page.evaluate(to_evaluate,args);});
  64.       function finish(){page.render('page.png');fs.write( '/home/root2/pjs/'+args[2]+'.html',  page.content, 'w'); setTimeout(phantom.exit,2000);}
Advertisement
Add Comment
Please, Sign In to add comment