8 821

Re: Тема для розмов.

Або спочатку був тру кодер під виглядом Cyan

8 822

Re: Тема для розмов.

https://media.giphy.com/media/ULlYHjfRijvGM/giphy.gif

λ–програміст. https://web-hate.tumblr.com/
Подякували: leofun01, 0x9111A2

8 823

Re: Тема для розмов.

дізнався про cheerio, тепер хочу побудувати json файл з інфою про всі повідомлення на цьому сайтику.
А потім подивимось, як моя відсутність впливає на активність форуму  ;D
осьо назви категорій можу вже отримати

Прихований текст
https://cdn.discordapp.com/attachments/333936584481177600/476796024367874056/unknown.png
Говоріть українською! Живіть українською! Відчувайте українською!

8 824

Re: Тема для розмов.

як боротися з таймаутом?

Говоріть українською! Живіть українською! Відчувайте українською!

8 825

Re: Тема для розмов.

FakiNyan написав:

дізнався про cheerio, тепер хочу побудувати json файл з інфою про всі повідомлення на цьому сайтику.
А потім подивимось, як моя відсутність впливає на активність форуму  ;D
осьо назви категорій можу вже отримати

Прихований текст
https://cdn.discordapp.com/attachments/333936584481177600/476796024367874056/unknown.png

А я пам'ятаю, як ви починали знайомитись з пайтоном і теж писали тут що перше, що написали на пітоні - парсер назв категорій на replace. Я тоді ще офігів, ну як так, я теж вже ось 2 місяці Лутца читаю і нічого такого в пайтоні не бачив, і вирішив що вивчу пайтон і теж так зможу  :(

Навчаюсь вчитись, щоб навчатись.

8 826

Re: Тема для розмов.

а я такого не пам'ятаю щось
пам'ятаю тільки, як шум Перліна малював на Пайтоні

Говоріть українською! Живіть українською! Відчувайте українською!

8 827

Re: Тема для розмов.

ну ось напишете цей парсер то може і побачите в усіх повідомленнях своє

Навчаюсь вчитись, щоб навчатись.
Подякували: 221VOLT1

8 828

Re: Тема для розмов.

думаю, якого дідька вилазить помилка, і вона null?
а от чому

body: '<html>\r\n<head><title>502 Bad Gateway</title></head>\r\n<body bgcolor="white">\r\n<center><h1>502 Bad Gateway</h1></center>\r\n<hr><center>nginx/1.6.2</center>\r\n</body>\r\n</html>\r\n' }
Говоріть українською! Живіть українською! Відчувайте українською!

8 829

Re: Тема для розмов.

хм, отако зробив, наче норм

const request = require('request');
const cheerio = require('cheerio');
const fs = require('fs');

const writeStream = fs.createWriteStream('./result.json');

let maxIdent = 0;

function parsePage(url, selector, identation = 1, prefix = '') {
  if (identation > maxIdent) maxIdent = identation;
  request.get(url, { tymeout: 15000 }, (error, response, body) => {
    if (!error && response.statusCode === 200) {
      const $ = cheerio.load(body);
      $(selector).each((index, elem) => {
        const link = $(elem).prop('href');
        let resultString = '';
        for (let i = 0; i < identation; i++) {
          resultString += ' ';
        }
        writeStream.write(
          `${resultString}${prefix}${prefix ? '.' : ''}${index}. ${$(
            elem
          ).text()}\n`,
          error => console.error(`write stream error`, error)
        );
        if (link) {
          parsePage(link, '.item-subject .hn a', identation + 1, index + 1);
        } else {
          console.error(`link is `, link);
        }
      });
    } else {
      if (error && error.code === 'ETIMEDOUT') {
        console.error(`error`, error);
        setTimeout(
          () => parsePage(url, selector, (identation = 1), prefix),
          5000
        );
      }
    }
  });
}

parsePage('http://replace.org.ua/', '.item-subject .hn a', 1);

це воно витягує назви категорій і підкатегорій, рекурсивно.
Тільки от проблема в тому, що це все робиться асинхронно, і тому в файл записується як-небудь

Говоріть українською! Живіть українською! Відчувайте українською!
Подякували: P.Y.1

8 830

Re: Тема для розмов.

λ–програміст. https://web-hate.tumblr.com/

8 831

Re: Тема для розмов.

Так робіть не асинхронно.

λ–програміст. https://web-hate.tumblr.com/

8 832

Re: Тема для розмов.

та це якось по-старомодньому

Говоріть українською! Живіть українською! Відчувайте українською!

8 833

Re: Тема для розмов.

А яка тут асинхронність може бути? У вас же один запит йде до html сторінки. А далі один воркер працює) Ну я принаймі так робив

Навчаюсь вчитись, щоб навчатись.
Подякували: P.Y.1

8 834

Re: Тема для розмов.

асинхронність, то коли відразу декілька запитів підряд відправляються, і ніхто не чекає, доки прийде відповідь від серверу на перший запит, аби розпочати наступний запит

Говоріть українською! Живіть українською! Відчувайте українською!

8 835

Re: Тема для розмов.

Колись говорив, що займуся розробкою українського донат сервісу.
Ось, що зараз маю.

https://cdn.discordapp.com/attachments/303293917820878849/475202098577801217/Peek_2018-08-04_08-58.gif

Але біда, немає досвіду фронтенд розробки. Мо хто має бажання допомогти з двома простими макетами:

  • макет сторінки подяк, котра на анімації

  • макет сповіщення про дяку

український веб-довідник - css.in.ua
Подякували: 221VOLT1

8 836

Re: Тема для розмов.

То вам дизайнер треба, чи верстальщик?

Говоріть українською! Живіть українською! Відчувайте українською!

8 837

Re: Тема для розмов.

Дизайнерами будуть самі користувачі, зара тре продумати ці два макети, котрими користувачі будуть користуватися до певного часу. Гадаю пізніше кожен зможе робити власні макети.
Як видно на картинці нижче, у людей буде змога налаштувати макет. Ото тре всі ці штуки продумати зара.
Й людина котра фронтом трохи займалася, краще побачить де і як вставити {{ bacgroundColor }}, {{ headerSize }}
і т.д. і як ліпше зверстати макет.

Макет сповіщень

<section>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <style>
        startMusic, endMusic, ambientMusic, voiceMusic {
            display:none;
        }
    </style>

    <audio id="startMusic" src="{{ startMusic }}"></audio>
    <audio id="endMusic" src="{{ endMusic }}"></audio>
    <audio id="ambientMusic" src="{{ ambientMusic }}"></audio>
    <audio id="voiceMusic" src="{{ voiceMusic }}"></audio>

    <div class="container-fluid">
        <div class="row text-center">
            <div class="col-md-4 col-md-offset-4"><img src="{{ mainImage }}"></div>
        </div>
        <div class="row text-center">
            <div class="col-md-4 col-md-offset-4"><p>{{ name }} - {{ amount }} грн</p></div>
        <div class="row text-center">
            <div class="col-md-4 col-md-offset-4"><p>{{ message }}</p></div>
        </div>
    </div>
</section>

http://replace.org.ua/extensions/om_images/img/5b6ef00b8f255/localhost_8083_control_widget_layout_update_id_2.jpg

український веб-довідник - css.in.ua
Подякували: leofun01, ostap34PHP, 221VOLT3

8 838

Re: Тема для розмов.

Ну майже перше сповіщення через сокети.

https://cdn.discordapp.com/attachments/303293917820878849/477805718054109195/notify.gif

український веб-довідник - css.in.ua
Подякували: ostap34PHP, 221VOLT2

8 839

Re: Тема для розмов.

тобто, все таки вам потрібен ui/ux фахівець?

Говоріть українською! Живіть українською! Відчувайте українською!

8 840

Re: Тема для розмов.

А що за фреймвокр. Бо такий же дизайн у phpci.