В нашем все более ориентированном на данные мире возможность доступа к информации в реальном времени не просто выгодна; зачастую это необходимость. Это особенно актуально для предприятий и исследователей, которые стремятся оставаться на шаг впереди. К счастью, веб-сайты электронной коммерции представляют собой богатый источник данных, предлагая настоящую сокровищницу сведений о продуктах, динамику ценообразования и ценные рыночные идеи. Тем не менее, мы обращаемся к веб-сканированию, чтобы эффективно использовать это огромное богатство информации.

Это подробное руководство — ваш путеводитель по освоению искусства сканирования веб-сайтов электронной коммерции с использованием JavaScript в сочетании с универсальными Crawlbase Crawling API. По мере того, как мы углубляемся в тонкости веб-сканирования, вы узнаете, как ориентироваться и извлекать ценные данные из этих динамичных онлайн-рынков. Чтобы проиллюстрировать наш подход, мы будем использовать Daraz.pk, известный и широко используемый платформа электронной коммерции, как наш главный пример.

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

Содержание

  1. Первые шаги
  • Что такое сайт электронной коммерции?
  • Роль Интернета Crawling в электронной коммерции
  1. Начало работы с Crawlbase Crawling API
  • Вводя Crawlbase Crawling API
  • Преимущества использования Crawlbase Crawling API
  • Crawlbase Библиотека NodeJS
  1. Настройка среды разработки
  • Установка NodeJS и NPM
  • Установка каталога проекта
  • Установка необходимых библиотек
  • Выбор правильной среды разработки IDE
  • Получение токена для Crawlbase Crawling API
  1. Выбор целевого веб-сайта электронной коммерции
  • Важность сканирования веб-сайта Daraz.pk
  • Понимание структуры страницы поиска веб-сайта Daraz.pk
  1. Написание JavaScript Crawling Сценарий
  • Импорт основных модулей NodeJS
  • Настройка вашего Crawlbase Токен API
  • Определение селекторов для важной информации
  • Crawling выбранный сайт электронной коммерции
  • Crawling Продукты скрыты в пагинации
  1. Эффективное хранение данных
  • Загрузка извлеченных данных в виде CSV-файла
  • Интеграция баз данных SQLite для сохранения данных
  1. Заключение
  2. Часто задаваемые вопросы (FAQ)

Первые шаги

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

Что такое сайт электронной коммерции?

Веб-сайт электронной коммерции, сокращенно от electronic commerce website, представляет собой онлайн-платформу, которая позволяет покупать и продавать товары или услуги через Интернет. Эти веб-сайты бывают разных форм и размеров: от небольших независимых бутиков до огромных многонациональных корпораций. Их объединяет цифровая природа операций, позволяющая клиентам просматривать товары, совершать покупки и организовывать поставки — все это с помощью возможностей сети.

Роль Интернета Crawling в электронной коммерции

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

Роль веб-сканирования в электронной коммерции

Для предприятий электронной коммерции веб-сканирование является незаменимым. Оно позволяет им оставаться конкурентоспособными, отслеживая цены на свои продукты и цены конкурентов. Этот подход, основанный на данных, позволяет использовать динамические стратегии ценообразования, гарантируя конкурентоспособные цены на продукты в режиме реального времени. Более того, веб-сканирование помогает в управлении запасами, гарантируя, что продукты есть на складе и доступны для клиентов, когда они хотят сделать покупку. Во многих случаях, предприятия электронной коммерции полагаться на передовые системы, такие как 3pl инструменты управления запасами, для управления запасами и оптимизации выполнения заказов на нескольких платформах

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

Начало работы с Crawlbase Crawling API

Теперь, когда мы установили важность веб-сканирования в электронной коммерции, пришло время погрузиться в инструменты и методы, которые позволят вам эффективно сканировать веб-сайты электронной коммерции. В этом разделе мы познакомим вас с Crawlbase Crawling API, пролить свет на преимущества использования его мощности и исследовать Crawlbase Библиотека NodeJS, которая станет нашим верным спутником в этом путешествии по веб-сканированию.

Вводя Crawlbase Crawling API

Команда Crawlbase Crawling API — это надежное, удобное для разработчиков решение, упрощающее задачи веб-сканирования и парсинга. Оно предлагает широкий спектр функций и возможностей, что делает его идеальным выбором для извлечения данных с веб-сайтов электронной коммерции, таких как Amazon, eBay, Daraz.pk, Alibaba и т. д.

По своей сути, Crawlbase Crawling API позволяет вам отправлять HTTP-запросы на целевые веб-сайты, получать HTML-контент и программно перемещаться по веб-страницам. Это означает, что вы можете получить доступ к базовым данным веб-сайта без необходимости ручного просмотра, копирования и вставки. Вместо этого вы можете автоматизировать процесс, экономя время и усилия. Вы можете прочитать больше на Crawlbase Crawling API Документация.

Преимущества использования Crawlbase Crawling API

Почему стоит выбрать Crawlbase Crawling API когда вы отправляетесь в путешествие по веб-сканированию? Вот несколько веских причин:

  1. Точность и согласованность данных: Команда Crawlbase Crawling API гарантирует, что собираемые вами данные точны и последовательны. В отличие от ручного ввода данных, который подвержен ошибкам и несоответствиям, API извлекает данные напрямую из источника, что снижает вероятность неточностей.
  2. Масштабируемость. Независимо от того, нужно ли вам просканировать несколько страниц или тысячи, Crawlbase Crawling API создан для удовлетворения ваших потребностей. Он очень масштабируемый, что делает его подходящим для проектов любого размера.
  3. Данные в реальном времени: В быстро меняющемся мире электронной коммерции доступ к данным в реальном времени может иметь решающее значение. API предоставляет самую актуальную информацию, позволяя вам опережать конкурентов.
  4. Управление прокси: При работе с защитой веб-сайтов от взлома, например, блокировкой IP-адресов, Crawlbase предлагает эффективную систему управления прокси-серверами, которая включает ротацию IP-адресов. Эта конкретная функциональность помогает обойти запреты IP-адресов и обеспечить постоянный и надежный доступ к вашим желаемым данным.
  5. Удобство: Команда Crawlbase API приносит ощущение легкости и удобства, устраняя необходимость создания и управления собственным скребком или краулером. Он работает безупречно как облачное решение, обрабатывая все сложные технические тонкости и позволяя вам сосредоточиться исключительно на извлечении ценных данных.
  6. Эффективность затрат: Создание и поддержка внутреннего решения для веб-скрапинга может значительно истощить ваш бюджет. Напротив, Crawlbase Crawling API предлагает экономически разумную альтернативу, при которой вы платите только за те услуги, которые вам конкретно необходимы, согласовывая свои расходы с вашими уникальными потребностями.

Crawlbase Библиотека NodeJS

Чтобы максимально использовать Crawlbase Crawling API, вам понадобится язык программирования, который может взаимодействовать без проблем. Вот где Crawlbase Библиотека NodeJS В игру вступает NodeJS — популярная среда выполнения для выполнения кода JavaScript вне веб-браузера, и это отличный выбор для создания веб-сканеров.

Команда Crawlbase Библиотека NodeJS упрощает интеграцию Crawlbase Crawling API в ваши проекты веб-сканирования. Он предоставляет функции и утилиты, которые делают отправку запросов, обработку ответов и парсинг данных легкими. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете заниматься веб-сканированием, Crawlbase Библиотека NodeJS станет вашим незаменимым инструментом для создания мощных и эффективных веб-сканеров.

В следующих разделах мы покажем вам, как настроить среду разработки, настроить Crawlbase Crawling API, и написание вашего первого скрипта сканирования JavaScript. Вместе мы изучим невероятные возможности веб-сканирования в сфере электронной коммерции.

Настройка среды разработки

Прежде чем вы сможете погрузиться в веб-сканирование с помощью JavaScript и Crawlbase Crawling API, необходимо подготовить среду разработки. В этом разделе представлено краткое, но подробное руководство, которое поможет вам настроить необходимые инструменты и библиотеки для бесперебойного сканирования веб-сайтов электронной коммерции.

Установка NodeJS и NPM

NodeJS и NPM (Node Package Manager) являются основой современной разработки JavaScript. Они позволяют выполнять код JavaScript за пределами веб-браузера и легко управлять зависимостями. Вот простое руководство по установке:

  1. NodeJS: Посетите официальный сайт NodeJS и загрузите последнюю версию LTS (Long-Term Support), адаптированную для вашей операционной системы. Выполните установку, следуя предоставленным инструкциям для конкретной платформы.
  2. НПМ: NPM идет в комплекте с NodeJS. После установки NodeJS вы автоматически получаете NPM в свое распоряжение.

Чтобы подтвердить успешную установку, откройте терминал или командную строку и выполните следующие команды:

1
2
узел -версия
npm-версия

Эти команды отобразят установленные версии NodeJS и NPM, обеспечивая бесперебойную настройку.

Установка каталога проекта

Для начала создайте каталог с помощью команды mkdir. В этом руководстве он называется ecommerce crawling, но вы можете заменить имя на любое другое по вашему выбору:

1
MkDir электронная коммерция\ сканирование

Затем перейдите в только что созданный каталог с помощью команды cd:

1
cd электронная коммерция\ сканирование/

Инициализируйте каталог проекта как пакет npm с помощью команды npm:

1
инициализация npm -y

Команда создает файл package.json, который содержит важные метаданные для вашего проекта. Параметр -y указывает npm принять все значения по умолчанию.

После выполнения команды на экране отобразится следующий вывод:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Написал в /home/hassan/Desktop/ecommerce crawling/package.json:

{
"название": "электронная коммерция-сканирование",
"версия": "1.0.0",
"описание": "",
"основной": "index.js",
"скрипты": {
"тест": "echo \"Ошибка: тест не указан\" && выход 1"
},
"ключевые слова": [],
"автор": "",
"лицензия": "ИСК"
}

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

Для эффективного сканирования веб-страниц и взаимодействия с API оснастите свой проект следующими библиотеками JavaScript с использованием NPM:

1
2
3
4
5
# Перейдите в каталог вашего проекта
cd ваш-проект-каталог

# Установка необходимых библиотек
npm установить Cheerio Crawbase sqlite3 csv-writer

Вот краткий обзор этих важных библиотек:

  • Приветствую: Как гибкая и высокопроизводительная библиотека, Cheerio разработана для эффективного анализа документов HTML и XML. Она играет ключевую роль в простом извлечении ценных данных из веб-страниц.
  • Crawlbase: Crawlbase упрощает взаимодействие с Crawlbase Crawling API, оптимизируя процесс сканирования веб-сайтов и извлечения данных.
  • SQLite3: SQLite3 выступает в качестве автономного, бессерверного и не требующего настройки движка базы данных SQL. Он будет служить вашим репозиторием для хранения сокровищ данных, собранных во время сканирования.
  • csv-писатель: Он упрощает процесс записи данных в файлы CSV, что позволяет легко создавать структурированные файлы данных для хранения или дальнейшего анализа в ваших приложениях. Он предоставляет интуитивно понятный API для определения заголовков и записи записей в файлы CSV с минимальным кодом.

Выбор правильной среды разработки IDE

Выбор правильной интегрированной среды разработки (IDE) может значительно повысить производительность. Хотя вы можете писать код JavaScript в простом текстовом редакторе, использование специальной IDE может предложить такие функции, как автодополнение кода, инструменты отладки и интеграция с контролем версий.

Некоторые популярные IDE для разработки JavaScript включают в себя:

  • Код Visual Studio (код VS): VS Code — бесплатный редактор кода с открытым исходным кодом, разработанный Microsoft. Он имеет активное сообщество и предлагает широкий спектр расширений для разработки JavaScript.
  • ВебШторм: WebStorm — это коммерческая среда IDE от JetBrains, известная своей интеллектуальной помощью при кодировании и надежной поддержкой JavaScript.
  • Возвышенный текст: Sublime Text — легкий и настраиваемый текстовый редактор, популярный среди разработчиков благодаря своей скорости и расширяемости.

Выберите IDE, которая соответствует вашим предпочтениям и рабочему процессу.

Получение токена для Crawlbase Crawling API

Чтобы получить доступ к Crawlbase Crawling API, вам нужен токен доступа. Чтобы получить токен, вам сначала нужно создать учетную запись на Crawlbase. Теперь давайте настроим вас с помощью Crawlbase учетная запись. Следуй этим шагам:

  1. Посетить Crawlbase Веб-сайт: Откройте свой веб-браузер и перейдите к Crawlbase страницу регистрации, чтобы начать процесс регистрации.
  2. Предоставьте свои данные: Вам будет предложено указать свой адрес электронной почты и создать пароль для вашего Crawlbase аккаунт. Заполните необходимую информацию.
  3. Проверка: После отправки данных вам может потребоваться подтвердить свой адрес электронной почты. Проверьте свой почтовый ящик на наличие письма с подтверждением от Crawlbase и следуйте предоставленным инструкциям.
  4. Вход: После проверки вашей учетной записи вернитесь на страницу Crawlbase веб-сайт и войдите в систему, используя только что созданные учетные данные.
  5. Получите доступ к своему токену API: Для использования вам понадобится API-токен. Crawling API. Вы можете найти свои токены по этой ссылке.

Crawlbase предоставляет два типа токенов: обычный токен (TCP) для статических страниц веб-сайта и токен JavaScript (JS) для динамических или отображаемых JavaScript страниц веб-сайта. Подробнее можно прочитать здесь.

Имея NodeJS, NPM, необходимые библиотеки и ваш токен API, вы теперь готовы окунуться в мир сканирования веб-сайтов электронной коммерции с использованием JavaScript и Crawlbase Crawling API. В следующих разделах мы шаг за шагом проведем вас через весь процесс.

Выбор целевого веб-сайта электронной коммерции

Выбор правильного веб-сайта электронной коммерции для вашего проекта сканирования является решающим решением. В этом разделе мы рассмотрим важность выбора Daraz.pk в качестве нашего целевого веб-сайта и углубимся в понимание структуры его поисковой страницы.

Важность Crawling Сайт Daraz.pk

Daraz.pk, один из крупнейших в Южной Азии интернет-магазинов, является отличным выбором для нашей демонстрации веб-сканирования. Вот почему:

  1. Обилие данных: Daraz.pk может похвастаться обширным каталогом продуктов, что делает его сокровищницей информации для энтузиастов данных. От электроники до моды, вы найдете разнообразный ассортимент продуктов для изучения, предоставляя всеобъемлющий пример сканирования данных электронной коммерции.
  2. Актуальность в реальном мире: Crawling Гигант электронной коммерции, такой как Daraz.pk, представляет собой практический пример, который перекликается с реальными сценариями. Независимо от того, являетесь ли вы компанией, желающей отслеживать цены конкурентов, исследователем, изучающим потребительские тенденции, или разработчиком, стремящимся создать инструмент сравнения цен, данные, которые вы можете извлечь из такой платформы, бесценны.
  3. Разнообразные структуры страниц: Сайт Daraz.pk предлагает разнообразные структуры страниц, включая списки продуктов, результаты поиска и отдельные страницы продуктов. Это разнообразие позволяет нам охватывать широкий спектр сценариев веб-скрейпинга, что делает его идеальной площадкой для обучения и практического применения.
  4. Региональное значение: Присутствие Daraz.pk в Южной Азии придает ему региональное значение. Понимание продуктов и цен, характерных для этой области, может быть очень полезным, если вы интересуетесь тенденциями регионального рынка.

Понимание структуры страницы поиска веб-сайта Daraz.pk

Для эффективного сканирования Daraz.pk необходимо понять структуру его поисковых страниц. Эти страницы являются отправной точкой для многих запросов, связанных с электронной коммерцией, что делает их основным объектом веб-сканирования. Daraz.pk обычно показывает 40 результатов на страницу.

Страница поиска Daraz

Вот подробная разбивка:

  1. Панель поиска: Домашняя страница Daraz.pk имеет заметную строку поиска, где пользователи могут вводить ключевые слова для поиска продуктов. Эта строка поиска служит точкой входа для клиентов, ищущих определенные товары, что делает ее важным компонентом для понимания.
  2. Результаты поиска: При вводе поискового запроса Daraz.pk отображает список соответствующих продуктов. Каждый листинг продукта обычно включает изображение, название, цену и оценки пользователей. Понимание того, как структурированы эти данные, необходимо для эффективного извлечения данных.
  3. Страницы продукта: Нажатие на продукт в результатах поиска приводит к отдельной странице продукта. Эти страницы содержат подробную информацию о конкретном продукте, включая его описание, характеристики, отзывы клиентов и сопутствующие товары. Понимание того, как структурированы эти страницы, имеет жизненно важное значение для более глубокого извлечения данных.
  4. Пагинация: Учитывая потенциально большое количество результатов поиска, на этих страницах часто используется пагинация. Пользователи могут перемещаться по нескольким страницам результатов, чтобы изучить более широкий спектр продуктов. Обработка пагинации является ключом к веб-сканированию, особенно на веб-сайтах электронной коммерции, где данные могут охватывать несколько страниц.
  5. Нижний колонтитул: Нижний колонтитул страниц поиска Daraz.pk часто содержит полезные ссылки и информацию. Хотя он не связан напрямую с результатами поиска, он может быть ценным ресурсом для извлечения дополнительных данных или эффективной навигации по веб-сайту.

Стоит отметить, что Daraz.pk загружает результаты поиска динамически с помощью JavaScript. Для эффективного сканирования таких страниц вам нужно будет использовать Crawlbase Crawling API с токеном JavaScript (токен JS). С токеном JS вы можете использовать параметры запроса, такие как ajaxWait и pageWait, которые необходимы для обработки рендеринга JavaScript и загрузки AJAX. Вы можете прочитать больше на Crawlbase Crawling API параметры запросаЭта возможность позволяет вам взаимодействовать с динамически генерируемым контентом, гарантируя вам доступ к данным, необходимым для вашего проекта веб-сканирования.

Понимание динамики рендеринга JavaScript и загрузки AJAX имеет решающее значение при работе с современными интерактивными веб-сайтами, такими как Daraz.pk. Оттачивая структуру страницы поиска, вы будете хорошо подготовлены к извлечению ценных данных из Daraz.pk и получите представление о веб-скрапинге электронной коммерции.

Написание JavaScript Crawling Сценарий

Давайте рассмотрим, как написать скрипт сканирования JavaScript для Daraz.pk с использованием Crawlbase Библиотека NodeJS. В этом разделе каждый шаг будет подробно рассмотрен с примерами кода.

Импорт основных модулей NodeJS

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

1
2
3
4
5
// Импорт необходимых модулей Node.js
Const { CrawlingAPI знак равно требовать('crawlbase'); // Для выполнения HTTP-запросов
Const Привет = требовать('привет'); // Для разбора HTML
Const sqlite3 = требовать('sqlite3').подробный(); // Для работы с базой данных SQLite
Const createCsvWriter = требовать('csv-писатель').createObjectCsvWriter; // Для работы с CSV-файлами

Настройка вашего Crawlbase Токен API

Теперь давайте настроим ваш Crawling API токен. Этот токен является шлюзом для использования Crawlbase API сканирования.

1
2
Const crawlbaseApiToken = 'ВАШ_ТОКЕН_JS_CRAWL'; // Замените на ваш реальный Crawlbase Токен API
Const API = новый CrawlingAPI({ знак: crawlbaseApiToken });

Вставив здесь свой уникальный API-токен, ваш скрипт получит возможность использовать Crawlbase Crawling API услуги бесперебойно на протяжении всего процесса сканирования. Использование Crawling API с помощью токена JS мы не только получаем необходимые функции для эффективной навигации по веб-сайтам, созданным с помощью JavaScript, но и гарантируем бесперебойную ротацию IP-адресов, тем самым защищая себя от потенциальных проблем с блокировкой.

Определение селекторов для важной информации

При сканировании сайтов электронной коммерции, таких как Daraz.pk, одним из основных шагов является определение точных элементов HTML, содержащих информацию, которую вы хотите извлечь. В этом разделе мы проведем вас через процесс поиска этих элементов, проверив веб-страницу и выбрав правильные селекторы CSS для использования с Cheerio.

  1. Проверьте веб-страницу:

Прежде чем вы сможете определить селекторы, вам нужно изучить страницу поиска Daraz.pk. Щелкните правой кнопкой мыши по интересующему вас элементу (например, названию продукта, цене или рейтингу) и выберите «Проверить» в контекстном меню. Это откроет инструменты разработчика вашего браузера, что позволит вам изучить HTML-структуру страницы.

Daraz Поиск Страница Осмотреть
  1. Найдите соответствующие элементы:

В инструментах разработчика вы увидите HTML-структуру страницы. Начните с определения HTML-элементов, которые инкапсулируют данные, которые вы хотите извлечь. Например, названия продуктов могут быть заключены в <h2> теги, в то время как цены могут быть в пределах <span> элементы с определенными классами.

  1. Определите селекторы CSS:

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

Вот некоторые распространённые селекторы CSS:

  • Выбор элемента: Выбирает HTML-элементы напрямую. Например, h2 выбирает все <h2> элементов.
  • Селектор класса: Выбирает элементы по их атрибуту класса. Например, .product-title выбирает все элементы с классом «product-title».
  • Селектор идентификатора: Выбирает уникальный элемент по его атрибуту ID. Например, #product-123 выбирает элемент с идентификатором «product-123».
  1. Проверьте селекторы:

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

Crawling Избранный сайт электронной коммерции

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

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
// Импорт необходимых модулей Node.js
Const { CrawlingAPI знак равно требовать('crawlbase');
Const Привет = требовать('привет');
Const sqlite3 = требовать('sqlite3').подробный();
Const createCsvWriter = требовать('csv-писатель').createObjectCsvWriter;

// Замените на ваш реальный Crawlbase Токен API
Const crawlbaseApiToken = 'ВАШ_ТОКЕН_JS_CRAWL';
Const API = новый CrawlingAPI({ знак: crawlbaseApiToken });

асинхронной функция ползатьДараз(запрос) {
стараться {
// Определите URL для поиска на Daraz.pk
Const поискUrl = `https://www.daraz.pk/catalog/?q=${запрос}`;

// Сделайте запрос GET к URL поиска, используя Crawlbase API
Const ответ = Ждите пчелы.получить(searchUrl, { страницаПодождите: 5000 });

// Проверяем, был ли запрос успешным
if (ответ.код состояния === 200) {
// Анализ HTML-содержимого страницы с помощью Cheerio
Const $ = привет.загрузка(ответ.тело);

// Извлечь и обработать результаты поиска
Const результаты = [];

// Извлечь данные о продукте
$('div[data-qa-locator="general-products"] div[data-qa-locator="product-item"]').каждый((индекс, элемент) => {
Const продукт = {};

продукта.productPageUrl = $(элемент).найдите('.mainPic--ehOdr a').Attr('href');
продукта.миниатюраИзображение = $(элемент).найдите('.mainPic--ehOdr img').Attr('источник');
продукта.название = $(элемент).найдите('.info--ifj7U .title--wFj93 а').текст();
продукта.цена = $(элемент).найдите('.info--ifj7U .price--NVB62 span').текст();
продукта.noOfReviews = $(элемент).найдите('.info--ifj7U .rateAndLoc--XWchq .rating__review--ygkUy').текст();
продукта.Локация = $(элемент).найдите('.info--ifj7U .rateAndLoc--XWchq .location--eh0Ro').текст();

результаты.протолкнуть.(товар);
});

возвращают полученные результаты;
} еще {
консоль.ошибка(«Не удалось получить страницу».);
}
} поймать (ошибка) {
консоль.ошибка(«Произошла ошибка:», ошибка);
}
}

асинхронной функция начатьПолзание() {
Const результаты = Ждите ползатьДараз(«часы для мужчин»);
консоль.журнал(результаты);
}

начатьПолзание();

Команда crawlDaraz Функция инициирует процесс сканирования. Сначала она создает URL для поиска Daraz.pk на основе предоставленного запроса. Затем она использует Crawlbase API для отправки запроса GET на этот URL, включая время ожидания страницы в 5000 миллисекунд (5 секунд), чтобы гарантировать завершение рендеринга JavaScript. Если запрос успешен (код статуса HTTP 200), скрипт анализирует HTML-содержимое страницы с помощью 'cheerio'. Затем он переходит к извлечению информации о продукте, проходя по структуре HTML с помощью предопределенных селекторов. Извлеченные данные, включая URL-адреса продуктов, изображения, заголовки, цены, количество отзывов и местоположения, организуются в объекты и добавляются в массив. Наконец, этот массив данных о продукте возвращается.

Вторая часть кода вызывает запускCrawling функция, которая инициирует процесс сканирования путем вызова crawlDaraz с запросом "часы для мужчин". Извлеченные результаты записываются в консоль, что делает их доступными для дальнейшей обработки или анализа. Этот код демонстрирует техническую реализацию веб-сканирования и скрапинга, которая оснащена для обработки динамической загрузки контента на веб-сайте Daraz.pk с использованием Crawlbase Crawling API.

Скриншот вывода:

Просканированные результаты поиска Daraz

Crawling Продукты, скрытые в пагинации

При сканировании веб-сайта электронной коммерции, такого как Daraz.pk, часто встречаются страницы результатов поиска, которые разбросаны по нескольким страницам из-за большого объема продуктов. Чтобы обеспечить всеобъемлющий сбор данных, нам необходимо эффективно обрабатывать эту пагинацию.

Пагинация управляется с помощью числовых ссылок на страницы или кнопок «следующая страница». Вот как мы с этим справляемся:

  1. Определение общего количества страниц: Сначала мы извлекаем первую страницу поиска и проверяем ее, чтобы определить общее количество доступных страниц результатов. Этот шаг имеет решающее значение для определения того, сколько страниц нам нужно просканировать.
  2. Итерация по страницам: Имея общее количество страниц на руках, мы затем проходим по каждой странице, делая запросы на выборку данных о продукте. Мы следуем структуре пагинации, добавляя номер страницы к URL поиска. Например, со страницы 1 на страницу N, где N — общее количество страниц.
  3. Извлечение данных: Мы извлекаем данные о продукте на каждой странице, как и на начальной странице. Это включает в себя такие данные, как URL-адреса продуктов, изображения, заголовки, цены, отзывы и местоположения.
  4. Обобщение результатов: Наконец, мы объединяем результаты с каждой страницы в единый набор данных. Это гарантирует, что мы собираем данные с каждой страницы результатов поиска, предоставляя комплексный набор данных для анализа.

Давайте обновим наш предыдущий код для обработки пагинации на страницах поиска Daraz.pk.

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// Импорт необходимых модулей Node.js
Const { CrawlingAPI знак равно требовать('crawlbase');
Const Привет = требовать('привет');
Const sqlite3 = требовать('sqlite3').подробный();
Const createCsvWriter = требовать('csv-писатель').createObjectCsvWriter;

// Замените на ваш реальный Crawlbase Токен API
Const crawlbaseApiToken = 'ВАШ_ТОКЕН_JS_CRAWL';
Const API = новый CrawlingAPI({ знак: crawlbaseApiToken });

асинхронной функция получитьTotalPages(запрос) {
стараться {
// Определите URL для поиска на Daraz.pk
Const поискUrl = `https://www.daraz.pk/catalog/?q=${запрос}`;

// Сделайте запрос GET к URL поиска, используя Crawlbase API
Const ответ = Ждите пчелы.получить(searchUrl, { страницаПодождите: 5000 });

// Проверяем, был ли запрос успешным
if (ответ.код состояния === 200) {
// Анализ HTML-содержимого страницы с помощью Cheerio
Const $ = привет.загрузка(ответ.тело);

// Определить общее количество страниц
Const всегоСтраниц = parseInt($('ul.ant-pagination li:nth-last-child(2)').Attr('заглавие'));
возвращают всего страниц;
} еще {
консоль.ошибка(«Не удалось получить страницу».);
возвращают 0;
}
} поймать (ошибка) {
консоль.ошибка(«Произошла ошибка:», ошибка);
возвращают 0;
}
}

асинхронной функция ползатьDarazPage(запрос, страница) {
стараться {
// Определить URL для конкретной страницы
Const поискUrl = `https://www.daraz.pk/catalog/?q=${запрос}& page =${страница}`;

// Сделайте GET-запрос к URL страницы, используя Crawlbase API
Const ответ = Ждите пчелы.получить(searchUrl, { страницаПодождите: 5000 });

// Проверяем, был ли запрос успешным
if (ответ.код состояния === 200) {
// Анализ HTML-содержимого страницы с помощью Cheerio
Const $ = привет.загрузка(ответ.тело);

// Извлечь и обработать результаты поиска этой страницы
Const результаты = [];

// Извлечь данные о продукте с этой страницы
$('div[data-qa-locator="general-products"] div[data-qa-locator="product-item"]').каждый((индекс, элемент) => {
Const продукт = {};

продукта.productPageUrl = $(элемент).найдите('.mainPic--ehOdr a').Attr('href');
продукта.миниатюраИзображение = $(элемент).найдите('.mainPic--ehOdr img').Attr('источник');
продукта.название = $(элемент).найдите('.info--ifj7U .title--wFj93 а').текст();
продукта.цена = $(элемент).найдите('.info--ifj7U .price--NVB62 span').текст();
продукта.noOfReviews = $(элемент).найдите('.info--ifj7U .rateAndLoc--XWchq .rating__review--ygkUy').текст();
продукта.Локация = $(элемент).найдите('.info--ifj7U .rateAndLoc--XWchq .location--eh0Ro').текст();

результаты.протолкнуть.(товар);
});

возвращают полученные результаты;
} еще {
консоль.ошибка(`Не удалось получить страницу ${страница}.`);
возвращают [];
}
} поймать (ошибка) {
консоль.ошибка(«Произошла ошибка:», ошибка);
возвращают [];
}
}

асинхронной функция начатьПолзание() {
Const запрос = «часы для мужчин»;
Const всегоСтраниц = Ждите получитьTotalPages(запрос);

if (всего страниц > 0) {
Const результаты = [];

// Сканировать все доступные страницы
для (позволять страница = 1; страница <= totalPages; страница++) {
Const pageResults = Ждите ползатьDarazPage(запрос, страница);
результаты.протолкнуть.(...pageResults);
}
// Печать длины набора данных
консоль.журнал(результаты. );
}
}

начатьПолзание();

Код состоит из двух основных функций: getTotalPages и crawlDarazPage.

  • getTotalPages извлекает начальную страницу поиска, извлекает общее количество страниц, доступных для данного запроса, и возвращает это число. Он использует Cheerio для анализа страницы и извлекает общее количество страниц из элемента управления пагинацией.
  • crawlDarazPage отвечает за сканирование определенной страницы результатов поиска. Он принимает query и page в качестве параметров создает URL-адрес для определенной страницы и извлекает данные о продукте с этой страницы.

В startCrawling функцию, мы определяем общее количество страниц, используя getTotalPages. Если есть страницы для сканирования (т.е. totalPages больше нуля), мы инициализируем пустой results массив. Затем мы проходим по нужному количеству страниц (в данном случае по первым 5 страницам) и используем crawlDarazPage для извлечения и извлечения данных о продуктах с каждой страницы. Результаты накапливаются в results массив.

Обрабатывая пагинацию таким образом, вы можете гарантировать, что ваш веб-краулер всесторонне соберет данные о продуктах со всех доступных страниц результатов поиска на Daraz.pk или подобных веб-сайтах. Такой подход делает ваши усилия по веб-скрейпингу более тщательными и эффективными.

Эффективное хранение данных

После успешного извлечения данных с сайта электронной коммерции, такого как Daraz, следующим шагом будет эффективное хранение этой ценной информации. Правильное хранение данных гарантирует, что вы сможете эффективно получать доступ к извлеченным данным и использовать их для различных целей. В этом разделе будут рассмотрены два метода хранения извлеченных данных: загрузка их в виде CSV-файла и интеграция баз данных SQLite для сохранения данных.

Загрузка извлеченных данных в виде CSV-файла

CSV (Comma Separated Values) — широко используемый формат для хранения структурированных данных. С ним легко работать, и его можно открыть в различных приложениях для работы с электронными таблицами, таких как Microsoft Excel и Google Sheets. Чтобы загрузить извлеченные данные в виде CSV-файла в приложение NodeJS, вы можете использовать библиотеки, такие как csv-writer. Вот пример того, как это использовать в нашем примере:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Const createCsvWriter = требовать('csv-писатель').createObjectCsvWriter;

// Создать CSV-записывающее устройство
Const csvWriter = createCsvWriter({
путь: 'daraz_products.csv', // Укажите путь к файлу
заголовок[
{ id: 'productPageUrl', название: «URL-адрес страницы продукта» },
{ id: 'thumbnailImage', название: «URL миниатюры изображения» },
{ id: 'заглавие', название: 'Заголовок' },
{ id: 'цена', название: 'Цена' },
{ id: 'noOfReviews', название: «Количество отзывов» },
{ id: 'расположение', название: Расположение },
],
});

// Записать данные в CSV-файл
асинхронной функция сохранитьToCsv(данным) {
Ждите csvWriter.writeRecords(данные);
}

В этом примере мы создали CSV-писатель с заголовками, которые соответствуют полям, которые мы скопировали: «productPageUrl», «thumbnailImage», «title», «price», «noOfReviews» и «location». Затем вы можете использовать saveToCsv функция сохранения ваших данных в виде CSV-файла.

Интеграция баз данных SQLite для сохранения данных

SQLite — это легкий, бессерверный и автономный движок базы данных SQL, который идеально подходит для встраивания в приложения. Он обеспечивает надежный способ хранения структурированных данных. Чтобы интегрировать базы данных SQLite в ваше приложение для веб-скрапинга для хранения данных, вы можете использовать sqlite3 библиотека. Вот как мы можем использовать ее в нашем примере:

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
Const sqlite3 = требовать('sqlite3').подробный();

// Открыть базу данных SQLite
Const дБ = новый sqlite3.База данных('daraz_products.db'); // Укажите файл базы данных

// Создаем таблицу для хранения данных
дб.сериализации(() => {
дб.пробег(`
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ продукты (
id INTEGER ПЕРВИЧНЫЙ КЛЮЧ АВТОИНКРЕТ,
productPageUrl ТЕКСТ,
миниатюраИзображение ТЕКСТ,
заголовок ТЕКСТ,
цена ТЕКСТ,
noOfReviews ТЕКСТ,
местоположение ТЕКСТ
)
`);
});

// Функция сохранения данных в базе данных
асинхронной функция сохранить в базу данных(данным) {
для (Const ПРОДУКТЫ of данные) {
дб.пробег(
`
ВСТАВИТЬ В продукты (productPageUrl, миниатюра изображения, заголовок, цена, noOfReviews, местоположение)
ЦЕННОСТИ (?, ?, ?, ?, ?, ?)
`,
[
продукта.productPageUrl,
продукта.миниатюраИзображение,
продукта.название,
продукта.цена,
продукта.noOfReviews,
продукта.Локация,
],
(заблуждаться) => {
if (ошибка) {
консоль.ошибка(«Ошибка вставки данных:», ошибся);
}
},
);
}
}

// Закрываем соединение с базой данных
дб.Закрыть();

В этом примере мы сначала открываем базу данных SQLite и создаем таблицу с именем products для хранения извлеченных данных. Затем мы определяем функцию saveToDatabase для вставки данных в эту таблицу. После вставки данных не забудьте закрыть соединение с базой данных с помощью db.close().

Кроме того, вот пример того, как можно включить эти методы хранения данных в код веб-скрапинга:

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
// ... (Предыдущий код для веб-скрапинга, включая новые функции для сохранения собранных данных)

асинхронной функция начатьПолзание() {
Const запрос = «часы для мужчин»;
Const всегоСтраниц = Ждите получитьTotalPages(запрос);

if (всего страниц > 0) {
Const результаты = [];

// Сканировать все доступные страницы
для (позволять страница = 1; страница <= totalPages; страница++) {
Const pageResults = Ждите ползатьDarazPage(запрос, страница);
результаты.протолкнуть.(...pageResults);

// Сохраняем данные в CSV-файл и базу данных SQLite
Ждите сохранитьToCsv(страницаРезультаты);
Ждите сохранить в базу данных(страницаРезультаты);
}
// Закрываем соединение с базой данных
дб.Закрыть();
// Печать длины набора данных
консоль.журнал(результаты. );
}
}

начатьПолзание();

В этом обновленном коде saveToCsv Функция вызывается для сохранения данных в CSV-файл, а saveToDatabase Функция вызывается для сохранения данных в базе данных SQLite после сканирования каждой страницы. Это гарантирует эффективное сохранение данных во время процесса скрапинга.

Заключение

Веб-сканирование, закулисный герой цифровой эпохи, играет незаменимую роль в процветающем мире электронной коммерции. В мире электронной коммерции веб-сканирование стоит как молчаливый страж, неустанно собирая богатство данных, которые питают этот цифровой рынок. Веб-сайты электронной коммерции, такие как Amazon, eBay, Daraz.pk и другие, произвели революцию в том, как мы совершаем покупки, предлагая широкий спектр продуктов и услуг у нас под рукой. Эти платформы обязаны своим успехом отчасти веб-сканированию, которое играет ключевую роль в обеспечении актуальности информации о продуктах, ценах и тенденциях.

Значение веб-сканирования в электронной коммерции невозможно переоценить. Оно позволяет осуществлять мониторинг цен в режиме реального времени, конкурентный анализ и управление запасами для предприятий. Исследователи получают выгоду от проведения маркетинговых исследований и получения информации о поведении потребителей. Вооружившись правильными инструментами, такими как Crawlbase Crawling API и NodeJS разработчики могут создавать мощные веб-сканеры для извлечения ценных данных и создания инновационных решений.

В ходе изучения этого руководства мы изучили важность выбора целевого веб-сайта электронной коммерции, углубившись в структуру страниц поиска Daraz.pk. С помощью скрипта сканирования JavaScript, работающего на основе Crawlbase Crawling API и стратегии управления данными, теперь вы готовы ориентироваться в ландшафте электронной коммерции и открывать его богатства. Веб-сканирование — это ваш шлюз в мир аналитики электронной коммерции, где вас ждут решения и инновации на основе данных.

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

В. В чем разница между веб-сканированием и веб-скрапингом?

Веб-сканирование это процесс систематической навигации по веб-сайтам и сбора данных с нескольких страниц. Он включает в себя автоматизированные скрипты, известные как веб-краулеры или пауки, которые следуют по ссылкам и индексируют веб-страницы.
С другой стороны, Web Scraping это извлечение определенных данных из веб-страниц. Обычно оно нацелено на определенные элементы, такие как цены на продукты, названия или обзоры. Веб-скрейпинг часто является компонентом веб-краулинга, который извлекает ценную информацию из просканированных страниц.

В. Почему сканирование веб-страниц важно для сайтов электронной коммерции, таких как Daraz.pk?

Веб-сканирование жизненно важно для сайтов электронной коммерции, таких как Daraz.pk, поскольку оно позволяет им отслеживать цены, наличие товаров и собирать рыночные данные. Эта информация имеет решающее значение для стратегий конкурентного ценообразования, управления запасами и анализа тенденций. Оно также помогает компаниям оставаться в курсе меняющихся рыночных условий.

В. Как начать сканирование веб-страниц с помощью Crawlbase Crawling API и NodeJS?

Чтобы начать сканирование веб-страниц с Crawlbase и NodeJS, выполните следующие действия:

  1. Подпишитесь на Crawlbase учетную запись и получите API-токен.
  2. Настройте среду разработки с помощью NodeJS и необходимых библиотек, таких как Cheerio и SQLite3.
  3. Напишите скрипт сканирования JavaScript, который использует Crawlbase Crawling API для загрузки веб-страниц, извлечения данных с помощью Cheerio и обработки пагинации.
  4. Эффективно храните собранные данные в виде CSV-файлов или в базе данных SQLite.

В. Каковы преимущества использования Crawlbase Crawling API?

Команда Crawlbase Crawling API предлагает ряд преимуществ, в том числе:

Точность и согласованность данных: Это обеспечивает точный и последовательный сбор данных.
Масштабируемость. Он может справиться с проектами любого масштаба: от небольших работ до крупномасштабных операций.
Данные в реальном времени: Он обеспечивает доступ к актуальной информации, критически важной для электронной коммерции.
Управление прокси: Он эффективно обрабатывает прокси-серверы и ротацию IP-адресов, чтобы обойти защиту от взлома.
Удобство: Это устраняет необходимость в создании специальных скребков и решает технические проблемы.
Эффективность затрат: Он предлагает бюджетную альтернативу внутренним решениям по парсингу с оплатой по факту использования.