Веб-скрапинг — важный навык для аналитиков данных, маркетологов и всех, кому необходимо извлекать данные с веб-сайтов. Это позволяет автоматизировать процесс извлечения данных, экономя ваше время и усилия. 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 .