ЙажаСценарий / Говнокод #28183 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
const puppeteer = require('puppeteer-core');
const fs = require('fs');
const getCurrentLine = require('get-current-line').default;
const { execFileSync } = require('child_process');

const data = fs.readFileSync('aviso.bz.cookies.json');
const cookies = JSON.parse(data.toString());

function randomInteger(min, max) {
  let rand = min - 0.5 + Math.random() * (max - min + 1);
  return Math.round(rand);
}

function delay(time) {
   return new Promise(function(resolve) {
       setTimeout(resolve, time*1000)
   });
}

function delay2(time) {
   return new Promise(function(resolve) {
       setTimeout(resolve, time)
   });
}

let ext = '/home/user/aviso/extensions/1.42.4_0';

(async () => {
  const browser = await puppeteer.launch({
    headless: false,
    defaultViewport: null,
    executablePath: '/usr/bin/chromium',
devtools: false,
    args: [
'--start-maximized',
//'--user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36"',
//`--disable-extensions-except=${ext}`,
//`--load-extension=${ext}`
 ]
  });

  const page = await browser.newPage();
  await page.setDefaultNavigationTimeout(0);

  let newPage;

  await page.setCookie(...cookies);
  await page.goto('https://aviso.bz/work-youtube', {waitUntil: 'networkidle0'});
//await delay(1000);
  let c = 0;
  while(true) {

  if(c == 100) {
    await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
    c = 0;
  }

let t = await page.$('[id^="ads-link-"]');
if(t == null) {
console.log('wait new tasks...');
await delay(10);
await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
c = 0;
continue;
}
let tt = await t.evaluate((q) => getComputedStyle(q).display);
if(tt == 'none') {
console.log('del inactive')
page.evaluate(q => { document.querySelector('[id^="ads-link-"]').remove(); })
continue;
}

let tr = await page.$('tr[class^="ads_"]');
let span = await tr.$('[onclick^="funcjs[\'start_youtube"]');
let title = await span.evaluate(el => el.textContent.trim());
console.log('title: \''+title+'\'');
let sec = await tr.$('td[align="right"] span[class="serf-text"]');
let secs = await sec.evaluate(el => el.textContent.trim());
console.log('sec: ' + secs.split(' ')[0]);

let newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page())));

//await page.waitForSelector('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
//let x = await page.$('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
//console.log(x.click);
await page.waitForTimeout(2000);
try {
await page.click('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
}
catch(e) {
console.log('error! del item');
await page.evaluate(() => {
    document.querySelector('tr[class^="ads_"]').remove()
  });
continue; } await page.waitForSelector('span[onclick^="funcjs[\'open_window\']"]', { timeout: 60000 }); await delay2(randomInteger(700, 2000)); await page.click('span[onclick^="funcjs[\'open_window\']"]'); newPage = await newPagePromise; await newPage.bringToFront(); const userAgent = await newPage.evaluate(() => navigator.userAgent ); console.log(userAgent) //let pages = await browser.pages(); console.log('> '+newPage.url()); await newPage.waitForSelector('tr[id="timer-tr-block"]', { timeout: 200000 }); await delay(randomInteger(2, 4)); console.log('yt click'); const frame = await newPage.waitForSelector('iframe'); let rect = await newPage.evaluate(el => { let {width, height} = el.getBoundingClientRect(); return {width, height}; }, frame); await newPage.mouse.click(rect.width / 2, rect.height / 2); //execFileSync('xdotool', ['mousemove', '960', '611']); //execFileSync('xdotool', ['click', '1']); console.log('waiting'); await newPage.waitForSelector('a[href=""]', { timeout: 200000 }); console.log('ok'); await delay2(randomInteger(900, 1500)); //console.log('> '+newPage.url()); await newPage.close(); await delay2(500); await page.bringToFront(); await page.evaluate(() => { document.querySelector('tr[class^="ads_"]').remove() }); await delay(randomInteger(1, 3)); console.log('c: '+ ++c +"\n"); } await browser.close(); })();

автосборщик бабла для aviso

Запостил: paroljanet paroljanet, (Updated )

Комментарии (12) RSS

  • Видишь ли дорогой друк, местные чатлане сильно огорчены войной путина с зелёнским и всем скопом ушли в Тараканий монастырь, запивать душевные раны. По крайней мере, это адекватное оправдание путоте...
    Так что, амиго, твои коды никому не всрались. Их тупо не будут комментировать.
    Ах да, когда-то на говнокоде был лимит на говнокоденьие - нельзя было слишком часто срать. Так что, ты и с этим сел в лужу, попрал местные правила. Не нужно быть таким рьяным, придержи коней...
    А ещё лучше будет, если ты прямо сейчас смотаешь удочки и пойдёшь отсюда - прямо на хуй.
    Ответить
    • > А ещё лучше будет, если ты прямо сейчас смотаешь удочки и пойдёшь отсюда - прямо на хуй.

      Какое дружелюбие )))
      Человек запостил говнокод, а его разъебали потому что... всем интересна околовоенная политота.
      Ответить
      • Это же уёбок, зачем его читать?
        Ответить
        • Пардон. Детектор сбойнул, а осознание пришло после того как я оправил комментарий.
          Ответить
          • То есть, ты прочел коммент, понял, что он осмысленный и ответил, а после чьего-то пинка в анус вспомнил, что нужно играть роль жеманной благонравной девицы?
            Ответить
  • На чем лучше такие вещи писать - js или питон?
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8