@n1ksON
мидл

Как выполнить команду в терминале из приложения на ReactJS?

Необходимо парсить страницу из интернета, получая текст и картинки.
Решил использовать Puppeteer. Но, если я правильно понял, то использование данного плагина невозможно на React. Потому что нельзя вызвать выполнение команды терминала.
Возможно я запутался.
Вот что имею:
const puppeteer = require('puppeteer');
(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('https://example.com/'); // какой-то url

    const dimensions = await page.evaluate(() => {
      return {
        width: document.documentElement.clientWidth,
        height: document.documentElement.clientHeight,
        deviceScaleFactor: window.devicePixelRatio
      };
    });

    console.log('Dimensions:', dimensions);

    await browser.close();
  })();

Ошибка:
Failed to compile
./node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js
Module not found: Can't resolve 'readline' in 'E:\app\node_modules\puppeteer\lib\cjs\puppeteer\node'

Погуглив проблему, нашёл в интернете два разных ответа. Один (на Stack Overflow) гласит, что Puppeteer и React несовместимы. Другой (в Issues GitHub плагина) предлагает какой-то костыль, но я не разобрался.

Подскажите, возможно ли как-то парсить страницу с помощью Puppeteer на React? Если нет, могли бы подсказать, с помощью чего сейчас можно парсить страницы. Хотелось бы найти парсер, работающий с API, желательно бесплатно. Смотрел в сторону WrapAPI, но с помощью него не получится легко парсить, нужно будет ещё обходить капчу от Cloudflare и прокси прикручивать.
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Narts
React это фронтенд. Зачем вам парсить сайт на клиенте? Как минимум наткнетесь на CORS и никуда дальне не продвинетесь.

Парсить можно на любом ЯП.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы