Скрейпинг (парсинг) сайта Авито с помощью Node.js и Puppeteer

Добавлено: 14/03/2023 13:44 |  Обновлено: 15/03/2023 13:53 |  Добавил: nick |  Просмотры: 1551 Комментарии: 0
Вводная часть
В данном материале показан пример скрейпинга содержимого сайта Авито с помощью Node.js и Puppeteer. Материал основан на отличной статье “Скрейпинг веб-сайта с помощью Node.js и Puppeteer” с сайта digitalocean.com (автор Gbadebo Bello).
Для работы примера у вас должны быть установлены: node, npm и puppeteer. О том, как это сделать, вы можете посмотреть в материале Gbadebo Bello. Для запуска кода из данного материала был использован node версии 14.21.1 и npm версии 6.14.17.

Всего понадобится создать 5 файлов: package.json, index.js, browser.js, pageController.js, pageScraper.js.

package.json используется для установки Puppeteer. index.js - это основной файл проекта, его стартовая точка, именно он запускается командой npm run start. browser.js - файл для создания браузера. pageController.js - основной файл логики приложения; запускает функцию scraper(browser, city, category) из файла pageScraper.js.

Содержимое всех файлов смотрите ниже.

Функция scraper(browser, city, category) в качестве параметров принимает название города и категории. В данном примере используется город ekaterinburg и категория kvartiry. Используя эти параметры, функция scraper() формирует ссылку к странице сайта Авито: www.avito.ru/ekaterinburg/kvartiry. После чего со страницы собирается список ссылок, далее осуществляется переход по каждой ссылке и выбирается нужная информация (в данном примере это: заголовок, цена, ссылка на картинку, описание). Собранная информация выводится в консоль, а также сохраняется в файл data.json (создаваемый автоматически).

Видеоверсия (YouTube)

Файлы проекта

Оставьте свой комментарий

Комментариев нет