Парсинг с помощью Python — популярный метод автоматизации извлечения данных с Amazon, позволяющий пользователям эффективно собирать большие объёмы информации о товарах. Однако масштабный парсинг результатов поиска Amazon — непростая задача, главным образом из-за больших объёмов данных, сложной структуры веб-сайтов, ограничений по скорости, CAPTCHA и других мер безопасности.
В этом подробном руководстве мы рассмотрим, как выполнять масштабный парсинг страниц поиска Amazon с помощью Питон и Crawlbase Crawling APIВ этом руководстве мы сосредоточимся на сборе данных о товарах Amazon и продемонстрируем процесс парсинга, включая настройку необходимых инструментов и методов. Используя эту мощную комбинацию, вы сможете эффективно извлекать и анализировать данные о товарах Amazon.
Наш готовый к использованию скрапер Amazon представляет собой комплексное решение для извлечения ключевых данных из Amazon. Вы можете попробовать это сейчас.
Содержание
- Настройка среды разработки
- Установка необходимых библиотек
- Создание Crawlbase Аккаунт
- Динамический контент и рендеринг JavaScript
- Получение правильного Crawlbase Токены
- Настройка Crawlbase Crawling API
- Обработка динамического контента
- Выбор скребка
- Обработка нумерации страниц
1. Зачем нужно парсить страницы поиска Amazon?
В огромном мире онлайн-торговли Amazon занимает лидирующие позиции. Он может похвастаться непревзойденным выбором товаров в самых разных категориях, что делает его популярным местом для покупателей по всему миру. Сбор данных с Amazon критически важен для бизнес-аналитики, поскольку позволяет компаниям анализировать тенденции, отслеживать конкурентов и принимать решения на основе данных.

Crawlbase Библиотека Python
Чтобы использовать силу Crawlbase Crawling API, вы можете использовать Crawlbase Библиотека Python. Эта библиотека упрощает интеграцию Crawlbase в ваши проекты Python, делая их доступными для разработчиков Python любого уровня подготовки.
Сначала инициализируйте Crawling API класса.
1 | api = CrawlingAPI({ токен: 'ВАШ_ТОКЕН_БАЗЫ_КРАНА' }) |
Передайте URL-адрес, который вы хотите извлечь, используя следующую функцию.
1 | api.get(url, параметры = {}) |
Вы можете передать любые варианты из доступных в Документация по API.
Пример:
1 | ответ = api.get('https://www.reddit.com/r/pics/comments/5bx4bx/thanks_obama/', { |
Существует множество других функций, предоставляемых Crawlbase Библиотека Python. Подробнее о ней можно прочитать здесь.
В следующих разделах мы покажем вам, как использовать возможности Crawlbase Crawling API для эффективного парсинга страниц поиска Amazon. Мы будем использовать Python, универсальный язык программирования, чтобы шаг за шагом продемонстрировать процесс. Давайте изучим богатство информации Amazon и узнаем, как раскрыть ее потенциал.
2. Предпосылки
Прежде чем мы отправимся в путешествие по веб-скрейпингу, давайте убедимся, что у вас есть все необходимые инструменты и ресурсы. В этой главе мы рассмотрим необходимые условия для успешного веб-скрейпинга страниц поиска Amazon с использованием Crawlbase Crawling API.
Настройка среды разработки
Вам понадобится подходящая среда разработки, чтобы начать веб-скрапинг. Вот что вам понадобится:
Питон:
Python — универсальный язык программирования, широко используемый в веб-скрапинге. Убедитесь, что Python установлен на вашей системе. Вы можете загрузить последнюю версию Python с официального сайта здесь.
Редактор кода или IDE:
Выберите редактор кода или интегрированную среду разработки (IDE) для написания и запуска вашего кода Python. Популярные варианты включают PyCharm и Jupyter Notebook, Вы также можете использовать Google Colab. Выберите тот, который лучше всего соответствует вашим предпочтениям и рабочему процессу.
Установка необходимых библиотек
Веб-скрапинг в Python стал более доступным благодаря библиотекам, упрощающим такие задачи, как создание HTTP, парсинг HTML и обработка данных. Установите следующие библиотеки с помощью pip, менеджера пакетов Python:
1 | пип установить панды |
Панды: Pandas — это мощная библиотека для обработки данных, которая поможет вам эффективно организовать и проанализировать собранные данные.
Crawlbase: Легкий, не требующий зависимостей класс Python, который действует как оболочка для Crawlbase API.
Создание Crawlbase Аккаунт
Чтобы получить доступ к Crawlbase Crawler API, вам понадобится Crawlbase Учётная запись. Если у вас её нет, выполните следующие действия для её создания. Нажмите здесь для создания нового Crawlbase Счет и заполните необходимые данные.
3. Понимание структуры страницы поиска Amazon
Прежде чем приступить к нашему путешествию по веб-скрапингу, важно понять структуру страницы поиска Amazon. Веб-страницы Amazon тщательно разработаны для обеспечения бесперебойного процесса покупок, но за удобным интерфейсом скрывается множество ценных данных. Amazon предоставляет следующий URL для поисковых запросов.
1 | # Замените serch_query на желаемый вами |
Определение точек интереса в данных
Для эффективного парсинга страниц поиска Amazon вам необходимо определить конкретные точки данных, которые вы хотите извлечь. В зависимости от ваших целей вам может быть интересна различная информация, включая:
- Название продукта: Наименование продаваемого продукта.
- Цена: Текущая цена товара.
- Информация о продавце: Подробная информация о продавце, такая как его имя и рейтинг.
- Доступность продукта: Информация о наличии или отсутствии товара на складе.
- URL продукта: URL-адрес, ведущий на страницу товара на Amazon.
- Рейтинги клиентов: Оценки и отзывы, предоставленные клиентами, купившими товар.
- Характеристики: Ключевые особенности или атрибуты продукта.
- Данные об отправлении: Подробная информация о вариантах доставки, включая сроки и стоимость доставки.
- Рекламные объявления: Amazon часто включает спонсируемые листинги в верхней части результатов поиска. Это платная реклама.
Как и многие современные веб-сайты, Amazon использует динамическую загрузку контента с помощью рендеринга JavaScript и вызовов Ajax. Это означает, что некоторые части страницы, такие как результаты поиска и фильтры, могут отсутствовать в исходном HTML-коде. Вместо этого они загружаются динамически после первоначальной загрузки страницы в браузере пользователя.
4. Как сканировать страницы поиска Amazon
В этом разделе мы отправимся в захватывающее путешествие по масштабному парсингу страниц поиска Amazon с помощью Crawlbase Crawling API. Например, мы соберем необходимую информацию о продуктах, связанных с поисковым запросом «игры» на Amazon. Для этого мы воспользуемся Crawlbase Библиотека Python, которая обеспечивает бесшовную интеграцию с Crawling API. Давайте углубимся в процесс:
Получение правильного Crawlbase Токены
Прежде чем мы сможем раскрыть всю мощь API, нам необходимо получить API-токен. Crawlbase Crawling API. Crawlbase Предоставляет два типа токенов: обычный токен (TCP) для статических веб-сайтов и токен JavaScript (JS) для динамических или управляемых JavaScript веб-сайтов. Учитывая, что Amazon в значительной степени полагается на JavaScript для динамической загрузки контента, мы выберем токен JavaScript.
1 | от база сканирования Импортировать CrawlingAPI |
Вы можете получить свой Crawlbase знак здесь после создания на нем учетной записи.
Настройка Crawlbase Crawling API
Имея на руках токен JavaScript, мы готовы настроить Crawlbase Crawling API. Прежде чем продолжить, нам нужно узнать о структуре выходного ответа. Вы можете получить выходной ответ в двух типах: HTML или JSON. По умолчанию, Crawling API использует формат HTML.
HTML-ответ:
1 | Заголовки: |
Чтобы получить ответ в формате JSON, необходимо передать параметр «format» со значением «json».
Ответ JSON:
1 | { |
Мы можем прочитать больше о Crawling API response здесь. Для примера мы выберем опцию по умолчанию. Мы будем использовать инициализированный объект API для выполнения запросов. Укажите URL, который вы собираетесь скрейпить, с помощью функции api.get(url, options={}).
1 | от база сканирования Импортировать CrawlingAPI |
В приведенном выше фрагменте кода мы сохраняем извлеченный HTML-контент, сохраняя его в HTML-файл. Этот шаг необходим для проверки того, что мы успешно получили нужные HTML-данные. Мы можем предварительно просмотреть файл и увидеть, какой контент включен в просканированный HTML.
output.html Предварительный просмотр:

Как вы можете видеть выше, в просканированном HTML нет никакой полезной информации. Это потому, что Amazon загружает свой важный контент динамически с помощью JavaScript и Ajax.
Обработка динамического контента
Как и многие современные веб-сайты, страницы поиска Amazon используют динамическую загрузку контента с использованием рендеринга JavaScript и вызовов Ajax. Это динамическое поведение может создавать проблемы при попытке извлечения данных с этих страниц. Однако с Crawlbase Crawling API, вы можете эффективно преодолеть эти проблемы. Мы можем использовать следующие параметры запроса, предоставленные Crawling API чтобы преодолеть эту проблему.
Добавление параметров
При использовании токена JavaScript с Crawlbase API, вы можете указать некоторые специальные параметры, чтобы гарантировать, что вы точно захватите динамически визуализируемый контент. Вот некоторые важные параметры:
- страница_ожидание: Этот необязательный параметр позволяет указать количество миллисекунд ожидания, прежде чем браузер захватит полученный HTML-код. Используйте этот параметр в ситуациях, когда для отображения страницы требуется время или когда необходимо загрузить запросы AJAX перед захватом HTML.
- ajax_wait: Еще один необязательный параметр для токена JavaScript. Он позволяет указать, следует ли ожидать завершения запросов AJAX перед получением ответа HTML. Это важно, когда контент зависит от запросов AJAX.
Для использования этих параметров в нашем примере мы можем обновить наш код следующим образом:
1 | от база сканирования Импортировать CrawlingAPI |
output.html Предварительный просмотр:

Crawling API предоставляет много других важных параметров. Вы можете прочитать о них здесь.
Выбор скребка Amazon
Crawling API предоставляет несколько встроенных скраперов для различных важных веб-сайтов, включая Amazon. Вы можете прочитать о доступных скраперах здесь. Параметр «scraper» используется для анализа полученных данных в соответствии с определенным скрапером, предоставленным Crawlbase API. Это необязательно; если не указано, вы получите полный HTML страницы для ручного скрапинга. Если вы используете этот параметр, ответ вернется в виде JSON, содержащего информацию, проанализированную в соответствии с указанным скрапером.
Пример:
1 | # Пример использования определенного скребка |
Один из доступных скраперов — «amazon-serp», разработанный для страниц результатов поиска Amazon. Он возвращает массив продуктов с такими подробностями, как название, цена, отзывы клиентов и т. д. Вот пример вывода скрапера «amazon-serp»:
1 | { |
Это включает всю информацию, которую мы хотим. Поскольку ответ будет в формате JSON на этот раз, мы сохраним некоторую важную информацию о каждом объекте продукта в файле CSV. Итак, давайте добавим этот параметр в наш пример и внесем изменения в соответствии с ответом:
1 | от база сканирования Импортировать CrawlingAPI |
В приведенном выше коде мы добавили скарпер в опции, а затем собрали всю необходимую информацию для каждого объекта JSON продукта внутри ответа. Наконец, мы создаем фрейм данных Pandas, чтобы использовать его функцию «to_csv» для сохранения данных в файле CSV.
amazon_products.csv Предварительный просмотр:

Обработка нумерации страниц
При парсинге страниц поиска Amazon крайне важно правильно обрабатывать пагинацию, чтобы собрать все необходимые вам товары. Crawlbase «amazon-serp» предоставляет информацию о пагинации в ответе JSON, включая текущую страницу, следующую страницу и общее количество страниц.
1 | // Пример |
Как вы можете видеть, «currentPage» указывает страницу, на которой вы находитесь в данный момент, «nextPage» показывает номер страницы следующего набора результатов, а «totalPages» сообщает вам, сколько всего страниц доступно.
Чтобы извлечь все продукты, вам нужно будет пройтись по этим страницам, отправляя запросы с соответствующим номером страницы, добавленным к URL-адресу, как это делает Amazon:
- Страница 1: https://www.amazon.com/s?k=games&page=1
- Страница 2: https://www.amazon.com/s?k=games&page=2
- …И так до последней страницы.
Давайте обновим пример кода для обработки пагинации и извлечения всех продуктов:
1 | от база сканирования Импортировать CrawlingAPI |
В этом разделе кода мы инициируем процесс веб-скрейпинга. Сначала мы определяем URL поиска Amazon, который мы хотим скрейпнуть. Затем код проверяет информацию о пагинации на начальной странице. Если присутствует пагинация, то есть есть несколько страниц результатов, код проходит по последующим страницам, чтобы скрейпнуть дополнительные данные о продукте.
Наконец, извлеченные данные организуются в Pandas data-frame, что позволяет легко манипулировать данными, а data-frame сохраняется в CSV-файле. Этот код гарантирует, что вы можете собрать полный набор данных о продуктах Amazon из результатов поиска, даже если они охватывают несколько страниц.
amazon_products.csv Предварительный просмотр:

5. Заключительные мысли
Поскольку профессионалы все больше вовлекаются в деятельность по веб-скрапингу, соблюдение этических и технических стандартов остается первостепенным. Соблюдение условий обслуживания веб-сайта и правил robots.txt является обязательным. Более того, убедитесь, что веб-скрапинг используется в законных, конструктивных целях. Благодаря знаниям, полученным из этого руководства, профессионалы хорошо подготовлены к использованию обширного потенциала данных, который предлагают товарные листинги Amazon, что приводит к аналитическим и деловым результатам.
Запишитесь на Crawlbase и получите 1,000 бесплатных кредитов
6. Часто задаваемые вопросы
В: Могу ли я использовать поисковые страницы Amazon для личных исследований или анализа?
Скрапинг страниц поиска Amazon для личного исследования или анализа, как правило, приемлем, при условии, что вы соблюдаете условия обслуживания Amazon и уважаете правила их веб-сайта. Однако важно помнить об объеме запросов, которые вы отправляете на веб-сайт, так как чрезмерный скрапинг может привести к блокировке IP или другим мерам по предотвращению скрапинга. Чтобы решить эту проблему, вы можете рассмотреть возможность использования Crawlbase Crawling API что позволяет вам извлекать данные с веб-сайтов более структурированным и контролируемым образом, помогая вам избегать потенциальных проблем, связанных с чрезмерными запросами. Этот подход может позволить вам проводить исследования и анализ, оставаясь в рамках политик Amazon.
В: Существуют ли какие-либо ограничения по скорости или CAPTCHA при парсинге Amazon?
Да, Amazon использует ограничение скорости и CAPTCHA для защиты своего сайта от чрезмерного или автоматизированного доступа. При парсинге Amazon важно отправлять запросы с разумной скоростью и внедрять механизмы для обработки CAPTCHA, если они встречаются. Используя такой сервис, как Crawlbase Crawling API может помочь вам эффективно справиться с этими трудностями.
В: Могу ли я использовать аналогичные методы для парсинга других сайтов электронной коммерции?
Да, многие сайты электронной коммерции используют похожие методы веб-скрейпинга, и принципы, обсуждаемые в этом руководстве, могут применяться для сбора данных с других платформ электронной коммерции. Однако имейте в виду, что у каждого сайта могут быть свои собственные политики и проблемы, поэтому важно ознакомиться с их условиями обслуживания и соответствующим образом адаптировать свой подход к скрапингу.
В: Каковы наиболее распространенные варианты использования парсинга страниц поиска Amazon?
Распространенные случаи использования парсинга страниц поиска Amazon включают маркетинговые исследования, анализ конкурентов, оптимизацию цен, агрегацию контента для веб-сайтов с обзорами продуктов и принятие обоснованных инвестиционных решений. Парсинг веб-страниц может предоставить ценную информацию для предприятий электронной коммерции, аналитиков данных, исследователей и предпринимателей.










