Веб-скрапинг — важный навык для аналитиков данных, маркетологов и всех, кому необходимо извлекать данные с веб-сайтов. Это позволяет автоматизировать процесс извлечения данных, экономя ваше время и усилия. Cheerio — популярная библиотека NPM, упрощающая процесс парсинга веб-страниц в Node.js. В этом руководстве мы покажем вам, как использовать Cheerio для извлечения данных с веб-сайта и преобразования их в структурированный формат.
Шаг 1: Установите Cheerio
Первый шаг — установить Cheerio в ваш проект Node.js. Откройте терминал и выполните следующую команду:
npm install cheerio
Шаг 2: Загрузите HTML
Далее нам нужно загрузить HTML-код с веб-сайта, который мы хотим очистить. Мы можем использовать встроенный HTTP-модуль Node.js, чтобы сделать запрос на веб-сайт и получить ответ в формате HTML. Вот пример:
const https = require('https'); https.get('https://example.com', (response) => { let data = ''; response.on('data', (chunk) => { data += chunk; }); response.on('end', () => { console.log(data); }); });
Этот код отправляет запрос GET на сайт example.com и записывает HTML-ответ на консоль.
Шаг 3: Разберите HTML с помощью Cheerio
Теперь, когда у нас есть HTML, мы можем использовать Cheerio для его разбора и извлечения необходимых данных. Cheerio предоставляет интерфейс, похожий на jQuery, для управления HTML. Вот пример:
const cheerio = require('cheerio'); const html = '<html><body><h1>Hello, world!</h1></body></html>'; const $ = cheerio.load(html); console.log($('h1').text());
Этот код загружает HTML в Cheerio и выбирает элемент h1. Затем он выводит текстовое содержимое элемента h1 на консоль.
Шаг 4: Извлеките данные
С Cheerio мы можем извлекать данные из любого элемента HTML. Вот пример:
const cheerio = require('cheerio'); const html = '<html><body><ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul></body></html>'; const $ = cheerio.load(html); const items = []; $('li').each((index, element) => { items.push($(element).text()); }); console.log(items);
Этот код загружает HTML в Cheerio и выбирает элементы li. Затем он перебирает каждый элемент li, извлекает текстовое содержимое и добавляет его в массив. Наконец, он записывает массив в консоль.
Шаг 5: Преобразование данных
Как только мы извлекли данные, мы можем преобразовать их в структурированный формат, который легко анализировать. Для этого мы можем использовать массивы и объекты JavaScript. Вот пример:
const cheerio = require('cheerio'); const html = '<html><body><ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul></body></html>'; const $ = cheerio.load(html); const items = []; $('li').each((index, element) => { items.push({ id: index + 1, text: $(element).text() }); }); console.log(items);
Этот код загружает HTML в Cheerio и выбирает элементы li. Затем он перебирает каждый элемент li, извлекает текстовое содержимое и добавляет его к объекту со свойствами id и text. Наконец, он выводит на консоль массив объектов.
Заключение
Веб-скрапинг с Cheerio — это мощный навык, который может улучшить ваши навыки анализа данных. Автоматизируя процесс извлечения данных, вы можете сэкономить время и силы и сосредоточиться на анализе данных. С помощью шагов, описанных в этом руководстве, вы сможете извлекать и преобразовывать данные с любого веб-сайта и получать ценную информацию.
Дальнейшее чтение
Скрапинг с YouTube с помощью этого «навороченного браузера для удаленного веб-скрапинга
Узнайте, как собирать данные о каналах и видео с YouTube без использования API, без блокировки или ограничения скорости.javascript.plainenglish.io»
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .