Делаем парсер страниц на Node.js

Пишем парсер сайтов на Node.JS или JavaScript
Метки: / / /

В этой статье мы сделаем парсер сайтов Node.js, или просто на JavaScript, думаю вам будет интересно.

Но стоит предупредить, что по сути это будет перевод другой статьи, ссылка на оригинал в ссылке внизу.

Ещё мы уже делали парсеры страниц но на других языках программирования, вот они:

Подготовка проекта:

У вас должен быть установлен Node.JS, если не знаете  как это сделать, то почитайте эти статьи:

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

То есть таким образом мы инициализировали проект, теперь скачаем все нужные библиотеки, через команду npm.

На этом подготовка закончена

Пишем парсер на javascript:

Сначала мы будем начинать с более простого примера, и постепенно всё сложнее и солжне.

Берем HTML страницу:

Давайте для примера получим страницу со американскими президентами из Википедии, откроем для этого текстовой редактор и напишем функцию для получения HTML-кода.

В терминале у нас должно появиться весь HTML документ.

Использование Chrome DevTools:

Круто, мы получили необработанный HTML с веб-страницы! Но теперь нам нужно разобраться в этом гигантском куске текста. Для этого нам нужно использовать Chrome DevTools, чтобы мы могли легко искать что нам нужно в HTML.

Использовать Chrome DevTools просто: просто откройте Google Chrome и щелкните правой кнопкой мыши на элемент, который вы хотите посмотреть (я щелкаю правой кнопкой мыши на Джорджа Вашингтона) :

Смотрим теги для парсера

Теперь просто нажмите кнопку «Посмотреть код», и Chrome откроет панель инструментов DevTools, позволяющую легко проверить исходный HTML-код страницы.

Проверяем тег для парсера на Node.js

Парсим HTML с помощью Cheerio.js:

Замечательно, Chrome DevTools теперь показывает нам точный шаблон, который мы должны искать в коде (тег big с гиперссылкой внутри него).

Давайте воспользуемся Cheerio.js для синтаксического анализа полученного ранее HTML, чтобы вернуть список ссылок на отдельные страницы Википедии президентов США.

Вот что должно вывестись в терминале:

То есть суть библиотеки Cheerio.js в том, что вы можете брать элемент по селектору из строчного элемента и вы получаете объект со всеми его параметрами, что бы подробнее узнать о библиотеки, перейдите по ссылке ссылке.

Мы проверяем, что возвращено ровно 45 элементов (количество президентов США), а это означает, что на странице нет никаких дополнительных скрытых тегов big.

Теперь мы можем пройти и получить список ссылок на страницу Википедии на всех 45 президентов, взяв их из раздела «атрибуты» каждого элемента.

Вот что должно вывестись в терминал:

Мы получили ссылки на 45 президентов США, таким же образом вы можете формировать новые теги и выводить их на сайт, или отправлять по RestAPI.

В целом это ещё не вся переведённая статья, но мне кажется этого хватит чтобы сделать хороший парсер на Node.JS, если надо всё перевести, то пишите комментарии.

Вывод:

В этой статье вы прочитали как сделать парсер сайтов Node.js, думаю вам было интересно и полезно.

Ссылка на оригинал.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Количество оценивших: 3
Средняя оценка: 4,33
Загрузка...

Поделится:

Также рекомендую:

55058653