CoderCastrov logo
CoderCastrov
Node.js

Как создать парсер веб-страницы на Node.js

Как создать парсер веб-страницы на Node.js
просмотров
2 мин чтение
#Node.js
Table Of Content

    Парсинг веб-страниц, также известный как сбор данных с веб-страниц, используется для извлечения информации с веб-сайтов. Программное обеспечение для парсинга веб-страниц может напрямую получать доступ к Всемирной паутине с помощью протокола передачи гипертекста или веб-браузера. Парсинг веб-страниц используется для сбора контактной информации, а также в качестве компонента приложений, используемых для индексации веб-страниц, веб-майнинга и добычи данных, мониторинга изменения цен и сравнения цен онлайн, сбора отзывов о продуктах и т. д.¹

    В этой статье мы рассмотрим способ извлечения данных с веб-страницы товара на Amazon с использованием Node.js. В конце статьи вы можете найти исходный код приложения, которое мы собираемся создать.

    Итак, давайте начнем с инициализации проекта Node.js, выполнив следующую команду:

    npm init

    После инициализации проекта мы добавим библиотеку, которая будет загружать содержимое веб-страниц:

    npm i puppeteer

    Основная цель библиотеки 'puppeteer' - загрузка содержимого веб-страниц. Она содержит браузер Chromium с открытым исходным кодом, который используется для загрузки веб-страниц. Сама библиотека также может использоваться для создания скриншотов PDF, автоматической отправки форм и т. д.

    Библиотеку 'cheerio', которую мы будем использовать для извлечения/парсинга данных из загруженной веб-страницы, мы можем добавить в наш проект, вызвав следующую команду:

    npm i cheerio

    Последняя зависимость, которую мы будем использовать в проекте, - 'express', который является минималистичным и гибким фреймворком Node.js. Его можно добавить, вызвав следующую команду:

    npm install express — save

    Теперь мы готовы приступить к написанию кода. Мы собираемся создать файл, который будет содержать метод для парсинга содержимого веб-страницы. Атрибуты, которые мы попытаемся извлечь из содержимого веб-страницы, - это заголовок, изображение, цена, имя продавца и список характеристик.

    Итак, давайте начнем с поиска заголовка товара, открыв веб-страницу:

    и щелкнув правой кнопкой мыши по заголовку, а затем нажав кнопку "Просмотреть код элемента" (или аналогично названную кнопку). Там мы можем увидеть, что элемент заголовка имеет идентификатор 'productTitle', который будет важен для извлечения его значения.

    Аналогичным образом мы можем попытаться найти значения 'id' других элементов, которые мы хотим извлечь из содержимого веб-страницы (например, цена, имя продавца и т. д.).

    Метод, который выполняет всю работу по запуску веб-страницы и парсингу ее содержимого, отображается ниже:

    Как видите, в начале метода 'scrap' находятся методы для загрузки браузера Chromium (с использованием библиотеки 'puppeteer'), а затем мы сосредоточены на извлечении данных.

    Файл, который будет использоваться для запуска приложения Node.js, будет содержать единственную конечную точку для вызова задачи парсинга, и там мы включим наш 'scraper_amazon', который содержит метод для парсинга содержимого веб-страницы:

    После создания обоих файлов мы можем запустить пример, вызвав команду:

    node index.js

    и вот и все. 😃

    Это был краткий учебник о том, как выполняется парсинг веб-страниц с использованием Node.js, и я желаю вам много проектов, которые используют эту замечательную функцию!

    Исходный код примера приложения:


    [1]: “Web scraping”, Wikipedia, https://en.wikipedia.org/wiki/Web_scraping. Accessed 5 April 2021.