Необходимо парсить страницу из интернета, получая текст и картинки.
Решил использовать
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 и прокси прикручивать.