Хотите поковырять Zalando? Вы в правильном месте. Zalando — один из лучших сайтов для онлайн-шопинга в сфере моды с огромным ассортиментом товаров от одежды до аксессуаров. Возможно, вы проводите маркетинговые исследования или создаете приложение для моды — в любом случае, знание того, как получить хорошие данные прямо с сайта, может быть полезным.

В этом блоге мы покажем вам, как создать надежный скрапер Zalando с помощью кукольник - известный инструмент для веб-скрапинга. Вы узнаете, как извлекать данные о продукте, такие как цены, размеры и уровни запасов. Мы также дадим вам советы о том, как работать с CAPTCHA, блокировкой IP и как масштабировать ваш скрапер с Crawlbase Smart AI Proxy.

Давайте начнем!

Содержание

  1. Зачем собирать данные о продуктах с Zalando?
  2. Ключевые данные для извлечения из Zalando
  3. Настройка среды Node.js
  • Установка Node.js
  • Установка необходимых библиотек
  • Выбор IDE
  1. Скрапинг списков продуктов Zalando
  • Проверка HTML на наличие селекторов
  • Написание скрапера листингов продуктов Zalando
  • Обработка нумерации страниц
  • Хранение данных в файле JSON
  1. Подробная информация о продукте Zalando
  • Проверка HTML на наличие селекторов
  • Написание скрапера сведений о продукте Zalando
  • Хранение данных в файле JSON
  1. Оптимизация с помощью Crawlbase Smart AI Proxy
  • Что такое Crawlbase Smart AI Proxy?
  • Как использовать Crawlbase Smart AI Proxy с Кукловодом
  • Преимущества использования Crawlbase Smart AI Proxy
  1. Заключение
  2. Часто задаваемые вопросы (FAQ)

Зачем собирать данные о продуктах с Zalando?

Скрапинг Zalando — отличный способ получить данные о продуктах для различных целей. Независимо от того, отслеживаете ли вы цены, отслеживаете наличие продуктов или анализируете модные тенденции, доступ к этим данным дает вам преимущество. Zalando — одна из крупнейших онлайн-платформ моды в Европе с широким ассортиментом товаров от обуви и одежды до аксессуаров.

Скрапинг Zalando позволяет извлекать названия продуктов, цены, обзоры и информацию о наличии. Эти данные можно использовать для сравнения цен, создания маркетинговых стратегий на основе данных или даже для создания автоматизированного ценового трекера. Если вы ведете бизнес в сфере электронной коммерции или просто хотите следить за последними модными тенденциями, скрэпинг данных о продуктах Zalando поможет вам оставаться впереди.

Использование скрапера для получения данных из Zalando экономит время и усилия на ручной поиск и копирование информации о продукте. При правильной настройке вы можете получить тысячи деталей о продукте в кратчайшие сроки и эффективно, что делает процесс сбора данных более рационализированным.

Ключевые данные для извлечения из Zalando

При скрапинге Zalando вы можете извлечь несколько важных сведений о продукте. Эти данные полезны для отслеживания тенденций, понимания цен или анализа поведения рынка. Ниже приведены основные данные, на которые следует обратить внимание:

Ключевые данные для анализа Zalando
  • Наименование товара: Название продукта помогает вам идентифицировать и классифицировать то, что продается.
  • Цена продукта: Знание цен, включая скидки, необходимо для отслеживания ценовых тенденций и сравнения с конкурентами.
  • Описание товара:: Здесь содержится конкретная информация о продукте, например, материал, стиль и другие ключевые характеристики.
  • Отзывы о товаре: Обзоры предоставляют информацию о качестве и популярности продукта и полезны для анализа настроений.
  • Доступность продукта: Проверка наличия товара на складе помогает понять спрос и скорость его распродажи.
  • изображения продуктов: Изображения дают четкое представление о продукте, что важно для понимания модных тенденций и стилей.
  • Бренд:: Знание бренда позволяет лучше анализировать его эффективность и сравнивать различные бренды.

Настройка среды Node.js

Для эффективного скрапинга Zalando вам нужно настроить среду Node.js. Этот процесс включает установку Node.js, необходимых библиотек и выбор подходящей интегрированной среды разработки (IDE). Вот как это сделать пошагово:

Установка Node.js

  1. Скачать Node.js: Перейти на официальную Сайт Node.js чтобы получить его последнюю версию для вашей операционной системы. Node.js поставляется с npm (Node Package Manager), который вы будете использовать для установки других библиотек.
  2. Установите Node.js: Следуйте инструкциям по установке для вашей операционной системы. Вы можете проверить, установлена ​​ли она, открыв терминал или командную строку и введя:
1
узел -v

Эта команда должна отобразить установленную версию Node.js.

Установка необходимых библиотек

  1. Создать новую папку проекта: Создайте папку для вашего проекта по скрапингу. Откройте терминал внутри этой папки.
  2. Инициализировать npm: Внутри папки вашего проекта запустите:
1
инициализация npm -y

Эта команда создает package.json файл, который отслеживает зависимости вашего проекта.

  1. Установить необходимые библиотеки: Вам понадобится несколько библиотек, чтобы упростить скрапинг. Установите Puppeteer и любые другие библиотеки, которые вам могут понадобиться:
1
npm установить кукловод axios
  1. Создать основной файл: В папке вашего проекта создайте файл с именем scraper.js. Этот файл будет содержать ваш код для скрапинга.

Выбор IDE

Выбор IDE может облегчить кодирование. Некоторые из популярных включают:

  • Visual Studio Code: Популярный редактор с множеством расширений для работы с JavaScript.
  • Вебсторм: Мощная IDE, специально разработанная для JavaScript и веб-разработки, но она не бесплатна.
  • Atom: Текстовый редактор с возможностью настройки и удобства использования.

Теперь, когда у вас настроена среда и scraper.js создано. Давайте начнем с парсинга листингов продуктов Zalando.

Скрапинг списков продуктов Zalando

После настройки среды мы можем начать создавать скрапер для списков продуктов Zalando. Мы скраперим раздел сумок с этого URL:

https://en.zalando.de/catalogue/?q=handbags

Мы извлечем URL-адрес страницы продукта, заголовок, название магазина, цену и URL-адрес изображения из каждого листинга. Мы также обработаем пагинацию для перехода по нескольким страницам.

Проверка HTML на наличие селекторов

Сначала мы должны проверить HTML страницы со списком продуктов, чтобы найти правильные селекторы. Откройте инструменты разработчика в вашем браузере и перейдите к спискам сумок.

Скриншот HTML-листинга продуктов Zalando

Обычно вы будете искать такие элементы, как:

  • Страница продукта URL: Это ссылка на страницу отдельного продукта.
  • Название продукта: Обычно в <h3> тег в <div> элемент.
  • Бренд:: Это можно найти в <h3> тег в <div> элемент.
  • Цена: Найдено в <span> тег с указанием ценового класса.
  • URL изображения: Содержится в <img> тег в каждой карточке продукта.

Написание скрапера листингов продуктов Zalando

Теперь, когда у вас есть селекторы, вы можете написать скрапер для сбора списков продуктов. Вот пример фрагмента кода с использованием Puppeteer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Const кукловод = требовать(«кукловод»);

// Функция для извлечения списков продуктов из Zalando
асинхронной функция scrapeProductListings(страница) {
Ждите стр.На('https://en.zalando.de/catalogue/?q=handbags', { Тайм-аут: 0 });

// Сбор списков продуктов
Const продукты = Ждите стр.оценивать(() => {
возвращают массив.от(документ.запросСелекторВсе('div.AnNemq статья.z5x6ht.mo6ZnF')).карта((карта) => {
Const название = карта.селектор запросов('div.Zhr-fS h3:last-child')?.внутреннийтекст; // Название продукта
Const storeName = карта.селектор запросов('div.Zhr-fS h3:первый-ребенок')?.внутреннийтекст; // Название магазина
Const цена = карта.селектор запросов('span.sDq_FX.lystZ1')?.внутреннийтекст; // Цена
Const productUrl = карта.селектор запросов('а')?.HREF; // URL-адрес продукта
Const миниатюра = карточка.селектор запросов('img:первый-ребенок')?.SRC; // URL-адрес изображения

возвращают { название, имя_магазина, цена, URL_продукта, миниатюра };
});
});

возвращают товары;
}

(асинхронной () => {
Const браузер = Ждите кукловод.запуск();
Const страница = Ждите браузер.новая страница();

Const productListings = Ждите scrapeProductListings(страница);
консоль.журнал(«Списки продуктов:», списки продуктов);

Ждите браузер.Закрыть();
}) ();

Код Пояснение:

  • scrapeProductListings Функция: эта функция переходит на страницу продукта Zalando с неограниченным лимитом времени ожидания и извлекает название продукта, цену, URL-адрес и URL-адрес изображения.
  • Сбор данных: Функция возвращает массив объектов продукта, содержащих извлеченную информацию.

Пример вывода:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Продукт Объявления[
{
название: «Сумочка - черная»,
Имя бренда: «Анна Филд»,
цена: '34,99 €',
productUrl: 'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
миниатюрами: 'https://img01.ztat.net/article/spp-media-p1/4ce13463cf9a4dda9828bfc44f65bb6e/45133485dd0c4b03b1b122f0deeb0801.jpg?imwidth=300&filter=packshot'
},
{
название: «КОЖА - Сумка - черная»,
Имя бренда: «Зигн»,
цена: '49,99 €',
productUrl: 'https://en.zalando.de/zign-handbag-black-zi151h08a-q11.html',
миниатюрами: 'https://img01.ztat.net/article/spp-media-p1/a86e1fd894b33f8388ed33009cb6cfd2/62c903c4162141fa8c1452be53635f02.jpg?imwidth=300&filter=packshot'
},
{
название: «СУМКА НА ПЛЕЧО NOELLE TOP ZIP - Сумка - угольный логотип»,
Имя бренда: 'Предполагать',
цена: '124,95 €',
productUrl: 'https://en.zalando.de/guess-noelle-top-zip-shoulder-bag-handbag-coal-logo-gu151h4zp-c11.html',
миниатюрами: 'https://img01.ztat.net/article/spp-media-p1/b6c00ad1942e4b439808bf3099e035ab/38798e461de54ddfad6a33d6f1ab5e42.jpg?imwidth=300&filter=packshot'
},
.... более
]

Обработка нумерации страниц

Чтобы собрать больше списков, вам нужно управлять пагинацией. Zalando использует &p= параметр в URL для навигации между страницами. Вот как изменить ваш скрапер для обработки нескольких страниц:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Функция для обработки пагинации
асинхронной функция scrapeAllProductListings(страница, всегоСтраницы) {
позволять всеПродукты = [];

для (позволять я = 1; я <= всегоСтраниц; я++) {
Const URL = `https://en.zalando.de/catalogue/?q=handbags&p=$ {i}`;
Ждите стр.На(url, { Тайм-аут: 0 });
Ждите стр.waitForSelector('main#main-content'); // Дождитесь загрузки карточек товаров

Const продукты = Ждите scrapeProductListings(страница);
всеПродукты = всеПродукты.CONCAT(продукция); // Объединить продукты со всех страниц
}

возвращают всеПродукты;
}

(асинхронной () => {
Const браузер = Ждите кукловод.запуск();
Const страница = Ждите браузер.новая страница();

Const всегоСтраниц = 5; // Укажите общее количество страниц, которые вы хотите очистить
Const allProductListings = Ждите scrapeAllProductListings(страница, всего страниц);
консоль.журнал(«Все списки продуктов:», всеСпискиПродуктов);

Ждите браузер.Закрыть();
}) ();

Код Пояснение:

  • scrapeAllProductListings Функция: Эта функция проходит по указанному количеству страниц, создает URL для каждой страницы и вызывает scrapeProductListings функция сбора данных с каждой страницы.
  • Обработка страниц: Товары со всех страниц объединены в один массив.

Хранение данных в файле JSON

Наконец, полезно сохранить извлеченные данные в файле JSON для последующего анализа. Вот как это сделать:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Const кукловод = требовать(«кукловод»);
Const фс = требовать('фс');

// Функция для извлечения списков продуктов из Zalando
асинхронной функция scrapeProductListings(страница) {
// Сбор списков продуктов
Const продукты = Ждите стр.оценивать(() => {
возвращают массив.от(документ.запросСелекторВсе('div.AnNemq статья.z5x6ht.mo6ZnF')).карта((карта) => {
Const название = карта.селектор запросов('div.Zhr-fS h3:last-child')?.внутреннийтекст; // Название продукта
Const storeName = карта.селектор запросов('div.Zhr-fS h3:первый-ребенок')?.внутреннийтекст; // Название магазина
Const цена = карта.селектор запросов('span.sDq_FX.lystZ1')?.внутреннийтекст; // Цена
Const productUrl = карта.селектор запросов('а')?.HREF; // URL-адрес продукта
Const миниатюра = карточка.селектор запросов('img:первый-ребенок')?.SRC; // URL-адрес изображения

возвращают { название, имя_магазина, цена, URL_продукта, миниатюра };
});
});

возвращают товары;
}

// Функция для обработки пагинации
асинхронной функция scrapeAllProductListings(страница, всегоСтраницы) {
позволять всеПродукты = [];

для (позволять я = 1; я <= всегоСтраниц; я++) {
Const URL = `https://en.zalando.de/catalogue/?q=handbags&p=$ {i}`;
Ждите стр.На(url, { Тайм-аут: 0 });
Ждите стр.waitForSelector('main#main-content'); // Дождитесь загрузки карточек товаров

Const продукты = Ждите scrapeProductListings(страница);
всеПродукты = всеПродукты.CONCAT(продукция); // Объединить продукты со всех страниц
}

возвращают всеПродукты;
}

// Функция сохранения извлеченных данных в файл JSON
функция сохранитьДанныеВJson(данные, имя файла = 'zalando_product_listings.json') {
фс.writeFileSync(имя файла, JSON.стягивать(данные, нуль, 2));
консоль.журнал(`Данные успешно сохранены в ${имя файла}`);
}

(асинхронной () => {
Const браузер = Ждите кукловод.запуск();
Const страница = Ждите браузер.новая страница();

Const всегоСтраниц = 5; // Укажите общее количество страниц, которые вы хотите очистить
Const allProductListings = Ждите scrapeAllProductListings(страница, всего страниц);

// Сохраните извлеченные списки продуктов в файл JSON
сохранитьДанныеВJson(всеСпискиПродуктов);

Ждите браузер.Закрыть();
}) ();

Код Пояснение:

  • saveDataToJson Функция: Эта функция сохраняет извлеченные списки продуктов в файл JSON (zalando_product_listings.json), чтобы вы могли легко получить доступ к данным

Далее мы рассмотрим, как извлечь данные о товарах с отдельных страниц товаров.

Подробная информация о продукте Zalando

Теперь, когда вы извлекли листинги, следующим шагом будет сбор данных с отдельных страниц продуктов. Это позволит вам получить более конкретные данные, такие как описания продуктов, сведения о материалах и отзывы клиентов, которые недоступны на страницах листингов.

Чтобы извлечь сведения о товаре, мы сначала проверим структуру страницы товара и определим соответствующие элементы HTML, содержащие необходимые нам данные.

Проверка HTML на наличие селекторов

Посетите любую страницу отдельного продукта Zalando и используйте инструменты разработчика вашего браузера для проверки структуры HTML.

Скриншот HTML-страницы продукта Zalando

Обычно вам нужно будет найти такие элементы, как:

  • Название продукта: Обычно в течение <span> тег с такими классами как EKabf7 R_QwOV.
  • Бренд:: Обычно в течение <span> тег с такими классами как z2N-Fg yOtBvf.
  • информация о продукте: Расположен в <div> одной data-testid="pdp-accordion-details".
  • Цена: В <span> тег с такими классами как dgII7d Km7l2y.
  • Доступные размеры: Часто указывается в <div> одной data-testid="pdp-accordion-size_fit".
  • URL-адреса изображений: Содержится в <img> тег в <ul> с такими классами как XLgdq7 _0xLoFW.

Написание скрапера сведений о продукте Zalando

Как только у вас появятся правильные селекторы, вы сможете написать скрапер для сбора данных о товаре, таких как название, описание, цена, доступные размеры и URL-адреса изображений.

Вот пример кода для извлечения информации о продуктах Zalando с помощью Puppeteer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Const кукловод = требовать(«кукловод»);

// Функция для извлечения сведений о продукте из одного URL-адреса продукта
асинхронной функция scrapeПодробности о продукте(страница, productUrl) {
Ждите стр.На(Urlпродукта, { Тайм-аут: 0 });

// Нажмите на раздел «Подробности»
Const detailsButtonSelector = «кнопка div[data-testid="pdp-accordion-details"]»;
Const sizesButtonSelector = «кнопка div[data-testid="pdp-accordion-size_fit"]»;

// Дождитесь кнопки «Подробнее» и нажмите ее
Ждите стр.waitForSelector(подробностиButtonSelector);
Ждите стр.нажмите на(подробностиButtonSelector);

// Дождитесь кнопки размеров и нажмите ее
Ждите стр.waitForSelector(sizesButtonSelector);
Ждите стр.нажмите на(sizesButtonSelector);

// Сбор данных о продукте
Const Подробности о продукте = Ждите стр.оценивать(() => {
Const title = документ.селектор запросов('span.EKabf7.R_QwOV')?.внутреннийтекст; // Название продукта
Const ИмяБренда = документ.селектор запросов('span.OBkCPz.Z82GLX')?.внутреннийтекст; // Название бренда
Const подробности = объект.fromEntries(
массив.от(документ.запросСелекторВсе('div[data-testid="pdp-accordion-details"] div.qMOFyE')).карта((пункт) => [
пункт.селектор запросов('дт')?.внутреннийтекст.отделка(),
пункт.селектор запросов('дд')?.внутреннийтекст.отделка(),
]),
); // Подробности продукта
Const цена = документ.селектор запросов('span.voFjEy.Km7l2y')?.внутреннийтекст; // Цена
Const размеры = объект.fromEntries(
массив.от(документ.запросСелекторВсе('div[data-testid="pdp-accordion-size_fit"] div.qMOFyE')).карта((пункт) => [
пункт.селектор запросов('дт')?.внутреннийтекст.отделка(),
пункт.селектор запросов('дд')?.внутреннийтекст.отделка(),
]),
); // Доступные размеры
Const imageUrls = массив.от(документ.запросСелекторВсе('ul.COuNvj._0xLoFW li img')).карта((IMG) => изображениеSRC); // URL-адрес изображения продукта

возвращают { название, название бренда, подробности, цена, размеры, URL-адреса изображений };
});

возвращают { URL: productUrl, ...productDetails };
}

(асинхронной () => {
Const браузер = Ждите кукловод.запуск();
Const страница = Ждите браузер.новая страница();

Const productUrls = [
'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
'https://en.zalando.de/zign-handbag-black-zi151h08a-q11.html',
// Добавьте сюда больше URL-адресов продуктов
];

Const allProductDetails = [];

для (Const URL of productUrls) {
Const подробности = Ждите scrapeПодробности о продукте(страница, URL);
всеПодробности о продукте.протолкнуть.(подробности);
}

консоль.журнал(«Сведения о продукте успешно получены:», всеСведения о продукте);
Ждите браузер.Закрыть();
}) ();

Пояснение к коду:

  • scrapeProductDetails Функция: Эта функция переходит к URL-адресу продукта, ждет загрузки контента и извлекает название продукта, описание, цену, доступные размеры и URL-адреса изображений. Чтобы получить доступ к соответствующему контенту, функция сначала ждет, пока кнопки «Подробности» и «Размеры» станут видимыми с помощью await page.waitForSelector(), затем нажимает на них await page.click(). Это расширяет соответствующие разделы, позволяя извлекать их содержимое.
  • Массив URL-адресов продуктов: Этот массив содержит URL-адреса страниц продуктов, которые вы хотите извлечь.

Пример вывода:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Продукт детали соскоблены успешно[
{
URL: 'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
название: «Сумочка - черная»,
Имя бренда: «Анна Филд»,
подробнее: { «Крепление:»: «Почтовый индекс», 'Шаблон:': 'Простой', 'Подробности:': «Пряжка» },
цена: '108,95 €',
Размеры: {
'Высота:': «28 см (размер One Size)»,
'Длина:': «36 см (размер One Size)»,
'Ширина:': «12 см (размер One Size)»
},
imageUrls[
'https://img01.ztat.net/article/spp-media-p1/3359d0e0d8484d9ba930544c6c71a861/7859902ec50b4d88899541e3c1cf976b.jpg?imwidth=762',
'https://img01.ztat.net/article/spp-media-p1/4ce13463cf9a4dda9828bfc44f65bb6e/45133485dd0c4b03b1b122f0deeb0801.jpg?imwidth=762&filter=packshot',
'https://img01.ztat.net/article/spp-media-p1/4ce13463cf9a4dda9828bfc44f65bb6e/45133485dd0c4b03b1b122f0deeb0801.jpg?imwidth=156&filter=packshot',
.... более
]
},
{
URL: 'https://en.zalando.de/zign-handbag-black-zi151h08a-q11.html',
название: «КОЖА - Сумка - черная»,
Имя бренда: «Зигн»,
подробнее: { «Крепление:»: «Почтовый индекс», 'Шаблон:': 'Простой' },
цена: '51,99 €',
Размеры: {
'Высота:': «25 см (размер One Size)»,
'Длина:': «36 см (размер One Size)»,
'Ширина:': «11 см (размер One Size)»
},
imageUrls[
'https://img01.ztat.net/article/spp-media-p1/a86e1fd894b33f8388ed33009cb6cfd2/62c903c4162141fa8c1452be53635f02.jpg?imwidth=762&filter=packshot',
'https://img01.ztat.net/article/spp-media-p1/cb7586f888fe39bc8e160d909a2403e3/194701c057bb4c6595849a0ffe13da24.jpg?imwidth=762',
'https://img01.ztat.net/article/spp-media-p1/a86e1fd894b33f8388ed33009cb6cfd2/62c903c4162141fa8c1452be53635f02.jpg?imwidth=156&filter=packshot',
.... более
]
}
]

Хранение данных в файле JSON

После того, как вы соскребете данные о продукте, хорошей идеей будет сохранить данные в файле JSON. Это облегчит доступ и анализ в дальнейшем. Вот как сохранить соскребенные данные о продукте в файле JSON.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Const фс = требовать('фс');

// Копировать функцию scrapeProductDetails из предыдущего фрагмента кода

// Функция сохранения извлеченных данных в файл JSON
функция сохранитьДанныеВJson(данные, имя файла = 'zalando_product_details.json') {
фс.writeFileSync(имя файла, JSON.стягивать(данные, нуль, 2));
консоль.журнал(`Данные успешно сохранены в ${имя файла}`);
}

(асинхронной () => {
Const браузер = Ждите кукловод.запуск();
Const страница = Ждите браузер.новая страница();

Const productUrls = [
'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
'https://en.zalando.de/zign-handbag-black-zi151h08a-q11.html',
// Добавьте сюда больше URL-адресов продуктов
];

Const allProductDetails = [];

для (Const URL of productUrls) {
Const подробности = Ждите scrapeПодробности о продукте(страница, URL);
всеПодробности о продукте.протолкнуть.(подробности);
}

// Сохраните извлеченные данные о продукте в файл JSON
сохранитьДанныеВJson(всеПодробностиПродукта);

Ждите браузер.Закрыть();
}) ();

Код Пояснение:

  • saveDataToJson Функция: Эта функция записывает извлеченные данные о продукте в файл JSON (zalando_product_details.json), отформатированный для удобства чтения.
  • Хранение данных : После сбора данных данные передаются в функцию для сохранения в структурированном формате.

В следующем разделе мы рассмотрим, как можно оптимизировать ваш парсер с помощью Crawlbase Smart AI Proxy чтобы избежать блокировки во время очистки.

Оптимизация с помощью Crawlbase Smart AI Proxy

При парсинге Zalando вас могут заблокировать или ограничить. Чтобы этого избежать, используйте прокси-сервис. Crawlbase Smart AI Proxy помогает вам безопасно и быстро парсить. Вот как интегрировать его в ваш парсер Zalando.

Как использовать Crawlbase Smart AI Proxy с Кукловодом

Интегрируя Crawlbase Smart AI Proxy в ваш сценарий Кукловода просто. Вам понадобится ваш Crawlbase API-ключ для начала работы.

Вот как это сделать:

  1. Подписаться на Crawlbase: Перейдите к Crawlbase сайт и завести аккаунт. После регистрации вы получите API-токен.
  2. Обновите свой сценарий кукловода: Измените существующий скребок, чтобы использовать Crawlbase прокси.

Вот обновленная версия вашего скрапера продуктов Zalando с Crawlbase Smart AI Proxy:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Const кукловод = требовать(«кукловод»);

Const proxyUrl = 'http://_USER_TOKEN_:@smartproxy.crawlbase.com:8012'; // Заменять _USER_TOKEN_ с вашим токеном

// Функция для извлечения сведений о продукте из одного URL-адреса продукта
асинхронной функция scrapeПодробности о продукте(страница, productUrl) {
// ... (без изменений, скопировано из предыдущих фрагментов кода)
}

(асинхронной () => {
Const браузер = Ждите кукловод.запуск({
арг[`--прокси-сервер=${proxyUrl}`], // Использовать Crawlbase полномочие
});
Const страница = Ждите браузер.новая страница();

Const productUrls = [
'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
'https://en.zalando.de/zign-handbag-black-zi151h08a-q11.html',
// Добавьте сюда больше URL-адресов продуктов
];

Const allProductDetails = [];

для (Const URL of productUrls) {
Const подробности = Ждите scrapeПодробности о продукте(страница, URL);
всеПодробности о продукте.протолкнуть.(подробности);
}

// Сохраните извлеченные данные о продукте в файл JSON
сохранитьДанныеВJson(всеПодробностиПродукта);

Ждите браузер.Закрыть();
}) ();

Код Пояснение:

  • Настройка прокси-сервера: Заменить _USER_TOKEN_ с твоим настоящим Crawlbase токен. Это говорит Кукловоду использовать Crawlbase прокси для всех запросов.
  • Параметры запуска браузера: args Параметр в puppeteer.launch() Метод указывает прокси-сервер для использования. Таким образом, все ваши запросы проходят через Crawlbase прокси.

Оптимизируйте свой Zalando Scraper с помощью Crawlbase

Скрапинг Zalando может предоставить полезную информацию для ваших проектов. В этом блоге мы показали вам, как настроить среду Node.js и скрапинг листингов и подробностей продуктов. Всегда проверяйте правила скрапинга Zalando, чтобы оставаться в рамках их ограничений.

Использование Puppeteer с Crawlbase Smart AI Proxy делает ваш парсинг более быстрым и надежным. Хранение ваших данных в JSON упрощает управление и анализ. Помните, что макеты веб-сайтов могут меняться, поэтому поддерживайте ваши парсеры в актуальном состоянии.

Если вы заинтересованы в изучении сбора данных с других платформ электронной коммерции, ознакомьтесь со следующими подробными руководствами.

📜 Как скрейпить Amazon
📜 Как взломать Walmart
📜 Как скрейпить AliExpress
📜 Как скрейпить Etsy

Если у вас есть какие-либо вопросы или пожелания, наш команда поддержки всегда готов помочь вам в вашем путешествии по веб-скрейпингу. Удачи в вашем путешествии по скрапингу!

Часто задаваемые вопросы (FAQ)

Извлечение данных из Zalando может иметь правовые последствия. Обязательно ознакомьтесь с условиями обслуживания веб-сайта, чтобы узнать, что они говорят о извлечении данных. Некоторые веб-сайты явно не разрешают извлечение данных, в то время как другие разрешают это при определенных условиях. Соблюдая правила веб-сайта, вы можете избежать юридических проблем и соблюдать этические нормы.

В. Какие инструменты мне понадобятся для парсинга Zalando?

Для скрапинга Zalando вам понадобятся специальные инструменты, поскольку сайт использует рендеринг JavaScript. Сначала установите Node.js, который позволяет запускать код JavaScript вне браузера. Затем используйте Puppeteer, мощную библиотеку, которая управляет браузером Chrome без заголовка, чтобы вы могли взаимодействовать с контентом, отрендеренным JavaScript. Также рассмотрите возможность использования Crawlbase Crawling API, которые могут помочь с ротацией IP и обходом блокировок. Вместе эти инструменты помогут вам извлечь данные из динамических страниц Zalando.

В. Зачем использовать Crawlbase Smart AI Proxy при очистке Zalando?

. Crawlbase Smart AI Proxy для Zalando парсинг хорош по нескольким причинам. Он не даст вам быть заблокированным сайтом, он меняет IP-адреса, чтобы имитировать поведение обычного пользователя. Таким образом, ваш парсинг будет более эффективным, и вы сможете собирать данные непрерывно, без перерывов. Crawlbase Smart AI Proxy также ускорит процесс парсинга, что позволит вам собирать данные быстрее и эффективнее.