Парсинг страниц на javascript

Делаем парсер страниц на 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, чтобы вернуть список ссылок на отдельные страницы Википедии президентов США.

Источник

Читайте также:  Filter linear gradient css
Оцените статью