@Yoler

Чем заменить require чтобы оно работало в браузере?

Чем заменить require в константах axios и cheerio чтобы оно работало?

const axios = require('axios');
const cheerio = require('cheerio');

const parse = async () => {
    const getHTML = async (url) => {
        const { data } = await axios.get(url);
        return cheerio.load(data);
    };

    const $ = await getHTML("https://rozetka.com.ua/search/?text=%D0%B7%D0%B0%D1%80%D1%8F%D0%B4%D0%BD%D0%B0+%D1%81%D1%82%D0%B0%D0%BD%D1%86%D1%96%D1%8F&section_id=4674585");
    const pageNumber = parseInt($('a.pagination__link').eq(-1).text());

    for (let i = 1; i <= pageNumber; i++) { // Виправлено умову циклу
        const selector = await getHTML(
            `https://rozetka.com.ua/search/?text=%D0%B7%D0%B0%D1%80%D1%8F%D0%B4%D0%BD%D0%B0+%D1%81%D1%82%D0%B0%D0%BD%D1%86%D1%96%D1%8F&section_id=4674585&page=${i}` // Виправлено номер сторінки
        );
        selector('.catalog-grid__cell').each((index, element) => { // Виправлено параметри функції each
            const title = selector(element).find('.goods-tile__title').text();
            console.log(title, link); // Додано вивід посилання
        });
    }
};

parse();
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега JavaScript
Python, JS, WordPress, SEO, Bots, Adversting
Если под "браузером" понимается html страница, то вместо require - подключите библиотеки в html, например:
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/1.6.0/axios.min.js" integrity="sha512-WrdC3CE9vf1nBf58JHepuWT4x24uTacky9fuzw2g/3L9JkihgwZ6Cfv+JGTtNyosOhEmttMtEZ6H3qJWfI7gIQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/cheerio/0.22.0/index.js" integrity="sha512-+obmGUxyA+OfXW4RU7Ez2JBbCFy+dmZatW/Z5u/PDZlY+SKzAMSHzpNfTDohw7RFfW+zmLrI9h19XiODWZRO5A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<script>
const parse = async () => {
    const getHTML = async (url) => {
        const { data } = await axios.get(url);
        return cheerio.load(data);
    };

    const $ = await getHTML("https://rozetka.com.ua/search/?text=%D0%B7%D0%B0%D1%80%D1%8F%D0%B4%D0%BD%D0%B0+%D1%81%D1%82%D0%B0%D0%BD%D1%86%D1%96%D1%8F&section_id=4674585");
    const pageNumber = parseInt($('a.pagination__link').eq(-1).text());

    for (let i = 1; i <= pageNumber; i++) { // Виправлено умову циклу
        const selector = await getHTML(
            `https://rozetka.com.ua/search/?text=%D0%B7%D0%B0%D1%80%D1%8F%D0%B4%D0%BD%D0%B0+%D1%81%D1%82%D0%B0%D0%BD%D1%86%D1%96%D1%8F&section_id=4674585&page=${i}` // Виправлено номер сторінки
        );
        selector('.catalog-grid__cell').each((index, element) => { // Виправлено параметри функції each
            const title = selector(element).find('.goods-tile__title').text();
            console.log(title, link); // Додано вивід посилання
        });
    }
};

parse();
</script>

Библиотеки должны быть загружены раньше Вашего скрипта.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 11:53
3000 руб./за проект
22 нояб. 2024, в 11:51
20000 руб./за проект
22 нояб. 2024, в 11:50
200000 руб./за проект