7 941 Востаннє редагувалося Q-bart (08.08.2018 16:18:32)

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

А йо! Так це ж пані Cyan повенулась, тільки під виглядом тру js кодера. Хитро

7 942

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

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

7 943

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

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

Подякували: leofun01, 0x9111A2

7 944

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

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

Прихований текст

https://cdn.discordapp.com/attachments/333936584481177600/476796024367874056/unknown.png

7 945

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

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

7 946

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

FakiNyan написав:

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

Прихований текст

https://cdn.discordapp.com/attachments/333936584481177600/476796024367874056/unknown.png

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

7 947

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

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

7 948

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

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

Подякували: 221VOLT1

7 949

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' }

7 950

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

7 951

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

https://www.youtube.com/watch?v=WaRGjKwPgic

7 952

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

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

7 953

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

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

7 954

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

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

Подякували: P.Y.1

7 955

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

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

7 956

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

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

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

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

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

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

Подякували: 221VOLT1

7 957

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

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

7 958

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

Подякували: leofun01, ostap34PHP, 221VOLT3

7 959

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

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

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

Подякували: ostap34PHP, 221VOLT2

7 960

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

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