Как собирать данные о товарах на Amazon с помощью Python
Техническое руководство по скрейпингу Amazon на Python: извлечение цен, отзывов и ASIN, обход CAPTCHA, управление сессиями и настройка прокси-инфраструктуры.
Команда InfraProxy
28 января 2026 г.
Сложности парсинга крупнейшего маркетплейса
Как правильно парсить товары с Amazon на Python?
Для парсинга Amazon требуются модифицированные HTTP-клиенты (например, httpx с TLS-патчами) или Playwright, так как маркетплейс жестко фильтрует автоматизированные запросы. Необходима реализация ротации User-Agent, управление сессионными Cookie и обязательное использование резидентных прокси с точным геотаргетингом, чтобы обходить CAPTCHA и собирать корректные локализованные цены и ASIN.
Данные с Amazon (цены, отзывы, Buy Box, BSR - Best Sellers Rank) — золотая жила для e-commerce аналитики, арбитражников и продавцов (Amazon FBA). Однако Amazon инвестирует миллионы долларов в инфраструктуру защиты от ботов. Парсинг Amazon "в лоб" с помощью стандартной библиотеки requests приведет к бану IP-адреса и появлению CAPTCHA уже после пятого запроса.
Архитектура Python-скрейпера для Amazon
Для создания стабильного пайплайна сбора данных (например, мониторинга цен по списку ASIN) необходим многоуровневый подход.
1. Обход базовых блокировок (Headers & TLS)
Amazon анализирует TLS-отпечатки (JA3) и структуру HTTP/2 заголовков. Если ваш Python-скрипт отправляет заголовки в порядке, свойственном библиотеке requests, он сразу маркируется как бот.
Для обхода следует использовать curl_cffi или Playwright в stealth-режиме.
Пример безопасного запроса через curl_cffi:
from curl_cffi import requests
from bs4 import BeautifulSoup
def get_amazon_price(asin, proxy_url):
url = f"https://www.amazon.com/dp/{asin}"
proxies = {"http": proxy_url, "https": proxy_url}
# Имитация браузера Chrome 120 на Windows
response = requests.get(
url,
proxies=proxies,
impersonate="chrome120",
headers={
"Accept-Language": "en-US,en;q=0.9",
# Важно: Accept-Encoding управляется impersonate
}
)
if "api-services-support@amazon.com" in response.text:
print("Попали на CAPTCHA!")
return None
soup = BeautifulSoup(response.text, 'lxml')
# Парсинг цены (селекторы Amazon часто меняются)
price_element = soup.select_one('span.a-price span.a-offscreen')
return price_element.text if price_element else "Цена не найдена"
2. Извлечение данных (DOM Parsing)
Amazon проводит перманентные A/B-тесты. Классы CSS и структура DOM-дерева меняются в зависимости от геолокации, истории поиска и устройства.
Лучшая практика: Использовать XPATH с резервными путями (Fallbacks). Если цена не найдена в <span id="corePrice_desktop">, скрипт должен искать её в <div id="cerberus-data-metrics"> (скрытые атрибуты).
3. Инфраструктура прокси: Гео и Ротация
Amazon показывает разные цены для пользователей из Калифорнии и Нью-Йорка (из-за налогов и логистики). Для корректного сбора данных о конкурентах в США вам нужны прокси из конкретного штата.
- Запрет на дата-центры: IP серверов AWS или DigitalOcean блокируются еще на уровне CDN. Требуются исключительно резидентные прокси (читайте гайд Датацентровые vs Резидентные прокси).
- Управление сессиями: Amazon выдает cookie
session-idпри первом запросе. Сохранение и передача этой cookie при ротации IP (Sticky Sessions) значительно повышает "траст" вашего бота. Подробнее механику описывает статья про стратегии ротации прокси.
Масштабирование пайплайна
Когда вам нужно проверять не 100, а 100 000 ASIN ежедневно:
- Асинхронность: Переход с синхронного кода на
asyncio+aiohttpили использование фреймворка Scrapy с Twisted-реактором. - Очереди задач: Использование Celery/RabbitMQ. Если воркер ловит CAPTCHA, задача возвращается в очередь с пометкой
retry, а воркер меняет IP-адрес. - Обход CAPTCHA: При получении HTTP 503 или страницы "Type plain characters", скрипт должен немедленно ротировать прокси, а не пытаться решить капчу (это экономически невыгодно при больших объемах).
Для парсинга Amazon в промышленных масштабах необходима безупречная сеть IP-адресов. Подключите резидентные прокси InfraProxy: геотаргетинг уровня ZIP-кодов США, ротация API-методами и гарантия обхода CAPTCHA. Запросите тестовый пул для вашей архитектуры.
Нужны надёжные прокси для вашего проекта?
InfraProxy предоставляет серверные и резидентные прокси для российского бизнеса. Договор, постоплата, техподдержка.
Читайте также
Настройка прокси для мониторинга цен конкурентов
Пошаговое руководство по настройке прокси для мониторинга цен: ротация IP, geo-targeting, sticky-сессии, обход антибот-защит. Код на Python и bash.
РуководстваКак настроить прокси для RAG-пайплайна
Практическое руководство по настройке прокси для RAG-пайплайна: архитектура, код на Python, sticky-сессии, расписание обходов. InfraProxy, SOCKS5, 100 000+ IP.
РуководстваNo-code веб-скрейпинг: извлечение данных без программирования
Как настроить сбор данных в 2026 году без написания кода: API для скрейпинга, extract_rules, автоматизация через n8n и Make.com, батчевая обработка 100+ страниц.