Advertisement
Guest User

Untitled

a guest
Jun 25th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var page = require('webpage').create();
  2. var system = require('system');
  3.  
  4. if (system.args.length < 2) {
  5.     console.log('Too many args');
  6.     phantom.exit();
  7. }
  8.  
  9. var addr = system.args[1];
  10. addr = encodeURI(addr);
  11.  
  12. function getString() {
  13.     return page.evaluate( function () {
  14.         String.prototype.replaceAll = function(search, replacement) {
  15.             var target = this;
  16.             return target.replace(new RegExp(search, 'g'), replacement);
  17.         };
  18.  
  19.         var result = "";
  20.         $.each($(".product-layout > .product-thumb > .image > a.lazy"), function(a,z) {
  21.             if ($(z).attr("href") == "http://igway.ru/пиростикер-аст-р") return;
  22.             result += $(z).attr("href") + "\n";
  23.         });
  24.  
  25.         return result;
  26.     });
  27. }
  28.  
  29. page.open(addr, {charset: 'cp-1251'}, function (status) {      
  30.     if (status !== 'success') {
  31.       console.log('FAIL to load the address');
  32.       phantom.exit();
  33.   }
  34.   setTimeout(function() {
  35.   page.render('github.png');
  36.     var string = getString();
  37.     if(typeof string == "undefined") {
  38.     console.log("-1");
  39.     phantom.exit();
  40.   }
  41.  
  42.     console.log(string);
  43.     phantom.exit();
  44.     }, 2000);
  45. });
  46.  
  47.  
  48.  
  49. var page = require('webpage').create();
  50. var system = require('system');
  51.  
  52. if (system.args.length < 2) {
  53.     console.log('Too many args');
  54.     phantom.exit();
  55. }
  56.  
  57. var addr = system.args[1];
  58. addr = encodeURI(addr);
  59. var cc = system.args[2];
  60.  
  61. function getString() {
  62.     return page.evaluate( function (cc) {
  63.         var title = jQuery('form[name="product"] h1').html()
  64.         var price = jQuery('#block_price').html()
  65.         price = price.replace(/руб\./g, " ");
  66.         var img = jQuery('.my_foto img').attr('src')
  67.  
  68.  
  69.         var desc_short = "";
  70.         var r = jQuery(jQuery('.tabs dd')[0]).find('.tab-content').find('p');
  71.         var i = 0;
  72.         for (i = 0; i < r.length; i++) {
  73.             desc_short += jQuery(r[i]).html();
  74.         }
  75.         desc_short = desc_short.replace(/\n/g, " ");
  76.  
  77.         jQuery(jQuery('.tabs dd')[0]).find('.tab-content').find('p').remove();
  78.  
  79.         var desc = jQuery(jQuery('.tabs dd')[0]).find('.tab-content').html()
  80.         desc = desc.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, "");
  81.         desc = desc.replace(/\n/g, " ");
  82.  
  83.         var categ = cc;
  84.  
  85.         return "CATEG:" + categ + "\nPRICE:" + price + "\nTITLE:" + title + "\nIMG:" + img + "\nDESC:" + desc + "\nDESCSHORT:" + desc_short;
  86.     }, cc);
  87. }
  88. page.onError = function(msg, trace) {
  89.     var msgStack = ['ERROR: ' + msg];
  90.     if (trace && trace.length) {
  91.         msgStack.push('TRACE:');
  92.         trace.forEach(function(t) {
  93.             msgStack.push(' -> ' + t.file + ': ' + t.line + (t.function ? ' (in function "' + t.function + '")' : ''));
  94.         });
  95.     }
  96.      //console.error(msgStack.join('\n'));
  97. };
  98. page.onLoadFinished = function() {
  99.     var res = getString();
  100.     if(typeof res == "undefined") {
  101.         console.log("-1");
  102.         phantom.exit();
  103.       }
  104.  
  105.     console.log(res);
  106.     phantom.exit();
  107. };
  108.  
  109. page.open(addr, {charset: 'cp-1251'}, function (status) {      
  110.     if (status !== 'success') {
  111.       console.log('FAIL to load the address');
  112.       phantom.exit();
  113.     }
  114. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement