Попробовать
Назад

Как создать трекер цен Amazon на Python

Обобщите эту статью с помощью предпочитаемого вами AI
Попробуйте наши премиум-прокси

Протестируйте наши премиум-прокси без ограничений по качеству.

  • Мобильные и резидентные прокси
  • Таргетинг на уровне ZIP
  • Статические и ротируемые IP
  • Встроенный фильтр качества
Попробовать

Веб-скрейпинг поможет вам отслеживать цены на Amazon, не проверяя одну и ту же страницу товара вручную каждый день. В этом руководстве вы создадите простой Трекер цен Amazon на Python который собирает название товара, цену, статус наличия и URL страницы, а затем сохраняет результаты в CSV-файл.

В примере используются Python, Requests, BeautifulSoup и реальная структура страницы товара Amazon. Вы также увидите, почему для отслеживания цен на Amazon часто нужны дополнительные проверки: цены могут различаться в зависимости от местоположения, страницы могут показывать CAPTCHA, а селекторы могут меняться в разных макетах товаров.

Для небольших тестов достаточно базового скрипта. Для отслеживания больших объёмов или с учётом местоположения чистые резидентные прокси, sticky-сессии и таргетинг на уровне ZIP могут сделать результаты более надёжными, поскольку Amazon может возвращать разные цены, условия доставки и информацию о наличии в зависимости от региона.

Что будет делать этот трекер цен Amazon

Трекер из этого руководства будет собирать:

  • Название товара
  • Текущую видимую цену
  • Текст о наличии
  • URL товара
  • Временная метка
  • История цен в CSV-файле
  • Базовое оповещение о снижении цены в терминале

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

Для более широкого обзора инструментов и рабочих процессов отслеживания цен у NodeMaven также есть руководство по инструментам мониторинга цен.

Прежде чем начать: ограничения скрапинга Amazon

Страницы Amazon сложнее, чем тренировочный сайт. Страница товара может меняться в зависимости от маркетплейса, ZIP-кода, адреса доставки, cookies, состояния входа в аккаунт, статуса акции и типа товара.

Прежде чем собирать данные в больших масштабах, ознакомьтесь с Условиями использованияAmazon. Для одобренных сценариев использования данных о товарах также проверьте документацию Amazon Product Advertising API.

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

Отслеживание цен на Amazon обычно осложняется из-за:

  • страниц с CAPTCHA вместо страниц товаров
  • ошибок 403 или 503
  • цен, разбитых на несколько HTML-элементов
  • разных цен в зависимости от региона или ZIP-кода
  • селекторов, меняющихся между разными макетами товаров
  • запросов, возвращающих не тот контент, что в браузере

Разработчики часто сталкиваются с этими проблемами. Например, это обсуждение на Stack Overflow о проблемах с CAPTCHA и селекторами цен на Amazon показывает, почему важны резервные селекторы и валидация ответа.

Шаг 1: Настройте проект на Python

Создайте новую папку для проекта и откройте её в редакторе.

Если вы используете macOS или Linux, выполните:

Если вы используете Windows, выполните:

Теперь создайте файл с именем:

Вы можете создать его в VS Code, PyCharm или любом текстовом редакторе. Держите этот файл открытым, потому что следующие шаги собирают скрипт по частям.

Если это ваш первый скрапер, то веб-скрапинг на Python руководство подробнее объясняет Requests, BeautifulSoup, селекторы и экспорт в CSV.

Протестированная конфигурация: Python 3.12, Requests, BeautifulSoup4 и lxml. Скрипт может работать на macOS, Windows или Linux после того, как окружение готово.

Шаг 2: Изучите страницу товара Amazon

Откройте страницу товара на Amazon, который хотите отслеживать. Кликните правой кнопкой по названию товара и выберите Проверить.

Трекер цен Amazon | Скопируйте селекторы со страницы товара

На странице товара, использованной для этого теста, заголовок находился внутри:

Затем изучите цену. Amazon часто хранит полную цену в скрытом за пределами экрана элементе, но на некоторых страницах видимая цена разбита на отдельные части:

Именно поэтому скрипт использует резервные селекторы вместо того, чтобы полагаться на один элемент с ценой.

Эти селекторы приведены как примеры для проверки, а не как гарантированно работающие на всём Amazon. Страницы Amazon могут различаться в зависимости от торговой площадки, категории товара, оформления акции и статуса наличия. Всегда проверяйте конкретную страницу, которую вы планируете отслеживать.

Разработчики часто сталкиваются с проблемами селекторов Amazon и CAPTCHA. Это обсуждение на Stack Overflow про проблемах с CAPTCHA и селекторами цен на Amazon служит наглядным примером того, почему скраперу нужны резервные селекторы и проверка ответа.

Шаг 3: Загрузите страницу Amazon с помощью Requests

Теперь добавьте функцию, которая скачивает HTML страницы.

Пользовательские заголовки делают запрос более похожим на обычный запрос браузера. Это не гарантирует доступ, но позволяет избежать отправки стандартного user agent библиотеки Python Requests.

Проверка на CAPTCHA также важна. Запрос может вернуть успешный 200 OK ответ и всё равно содержать страницу проверки вместо данных о товаре. Никогда не воспринимайте успешный код статуса как доказательство того, что скрапер собрал нужную страницу.

Шаг 4: Извлеките название, цену и наличие

Далее добавьте BeautifulSoup и несколько вспомогательных функций.

Зона first_text() пробует несколько селекторов и возвращает первое найденное значение. Это удобно, потому что Amazon может размещать цену в разных частях страницы.

Зона split_price_text() обрабатывает страницы, где цена отображается в виде отдельных элементов: символа, целой части и дробной части. Например, $23.99 может присутствовать в HTML в виде $, 23, и 99.

Зона parse_price() извлекает числовое значение из видимого текста цены. Эта версия рассчитана на цены в американском формате, такие как $49.99. Если вы отслеживаете другой маркетплейс Amazon, адаптируйте её под локальную валюту и формат десятичных разделителей.

Теперь добавьте функцию скрапинга товара:

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

Шаг 5: Сохраните историю цен Amazon в CSV

Трекер цен становится полезнее, когда сохраняется каждая проверка. Добавьте эту функцию для CSV:

Зона newline="" следует рекомендации Python Документация CSV и помогает избежать лишних пустых строк в некоторых системах.

После запуска скрипта файл CSV будет выглядеть так:

метка временизаголовокprice_textценаналичиеurl
2026-07-24T10:15:30Owala FreeSip — термобутылка для воды из нержавеющей стали$23.9923.99В наличииURL товара на Amazon

Такого простого файла истории достаточно для первой версии. Позже вы сможете перенести данные в Google Sheets, базу данных или дашборд.

Шаг 6: Отслеживайте несколько товаров Amazon

Теперь добавьте список URL товаров. Замените примеры URL реальными страницами товаров Amazon.

Затем добавьте основную функцию, которая перебирает каждый товар.

Зона sleep(10) delay не позволяет скрипту запрашивать страницы слишком быстро. Для реального отслеживания избегайте агрессивной частоты запросов. Трекеру цен обычно не нужно проверять один и тот же товар каждые несколько секунд.

Если вам нужны более общие примеры скрапинга, у NodeMaven есть руководство по веб-скрапинг на Python и отдельное сравнение Инструменты веб-скрейпинга.

Шаг 7: Добавьте оповещения о снижении цены и планировщик

Базовое оповещение можно запускать прямо в терминале.

Добавьте целевую цену

Добавьте это в начало вашего скрипта:

Затем обновите цикл внутри основная():

Пока это не отправляет ни email, ни сообщение в Telegram. Скрипт просто выводит сообщение, когда цена ниже вашей целевой.

Настройте расписание для трекера

Для простой настройки вы можете запускать скрипт вручную один раз в день.

На macOS или Linux вы можете позже использовать cron. На Windows можно использовать Task Scheduler. Если вы предпочитаете настройку без кода, начните с ручных запусков и переходите к автоматизации только после того, как скрипт начнёт возвращать корректные данные.

Для реального рабочего процесса мониторинга цен сохраняйте:

  • Маркетплейс
  • Регион или ZIP-код
  • Временная метка
  • Цена
  • наличие
  • URL товара
  • Статус ошибки, если запрос не удался

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

Шаг 8: Добавьте прокси для более надёжного отслеживания Amazon

Для нескольких ручных тестов прокси могут вам не понадобиться. Как только трекер начинает работать чаще, проверять несколько товаров или сравнивать цены по местоположению, один локальный IP становится слабым местом.

Amazon может показывать разные данные о товаре в зависимости от видимого местоположения. Он также может возвращать CAPTCHA, недоступные страницы или несогласованные сведения о доставке, когда шаблон запросов выглядит необычно.

Вот где чистые жилые прокси и sticky сессии помогают. Они позволяют трекеру сохранять стабильный регион и не пропускать каждый запрос через один и тот же локальный IP.

Отслеживайте локальные цены Amazon с меньшим числом неудачных запросов

Резидентные прокси NodeMaven помогают Python-скраперам собирать данные о ценах Amazon с более чистыми IP, стабильными сессиями и геотаргетингом для проверки региональных цен. Начните с 750 МБ для $3.50.

Попробовать

Что касается именно Amazon, то NodeMaven Амазон прокси полезны, когда вам нужно:

  • Цены для конкретных регионов
  • Таргетинг на уровне ZIP
  • Стабильные сессии для повторных проверок
  • Более чистое качество IP, чем у публичных прокси или дешёвых VPN
  • Резидентные IP, которые больше похожи на трафик обычного пользователя

Для более глубокой настройки прокси прочитайте руководство NodeMaven по созданию надёжного пула прокси для веб-скрапинга.

Добавьте прокси в скрипт

Если вы хотите использовать прокси, замените предыдущую fetch_page() функцию на эту версию.

Затем передайте прокси в scrape_product():

Не прописывайте реальные учётные данные прокси напрямую в общем файле или публичном репозитории. Используйте переменные окружения, если скрипт будет храниться в GitHub или использоваться командой.

Выберите подходящую сессию прокси

Использовать закреплённая резидентная сессия когда вы хотите, чтобы один товар или один регион оставался неизменным на протяжении всего сеанса отслеживания. Это полезно, когда Amazon сохраняет настройки местоположения, штат доставки или файлы cookie.

Используйте ротацию только тогда, когда каждый запрос независим. Случайная смена IP во время одного и того же товарного потока может привести к несовпадению цен, дополнительной проверке или несогласованным результатам.

Руководство NodeMaven по резидентным, мобильным прокси и прокси дата-центров объясняет, какой тип прокси подходит для разных сценариев скрапинга.

Типичные ошибки трекера цен Amazon и их устранение

Amazon возвращает ошибку 503 или 403

Amazon может отклонить запрос, если ему не нравится шаблон запроса, репутация IP, заголовки или источник трафика. Разработчики также обсуждают это в ветках Stack Overflow о ошибках Amazon 503 с Requests и BeautifulSoup.

Попробуй следующее:

  • Снизьте частоту запросов.
  • Убедитесь, что ваши заголовки заданы.
  • Сохраните возвращённый HTML и изучите его.
  • Избегайте повторяющихся запросов с ненадёжных или перегруженных IP.
  • Используйте чистые резидентные прокси, если трекер работает с большим объёмом.

Amazon показывает страницу с CAPTCHA

Если Amazon возвращает страницу с CAPTCHA, скрапер получил HTML проверки вместо HTML товара. Скрипт в этом руководстве проверяет наличие типичного текста CAPTCHA и вызывает ошибку.

Когда это происходит, снизьте частоту запросов и проверьте, соответствуют ли ваши заголовки, поведение сессии и качество прокси тому объёму, с которым вы работаете. Чистые резидентные прокси помогают снизить количество срабатываний CAPTCHA, вызванных плохой репутацией IP, но они не заменяют разумный тайминг запросов или проверку ответов.

Не сохраняйте страницы CAPTCHA как данные о товаре.

Отсутствует заголовок

Если скрипт не может найти заголовок, снова изучите страницу товара.

Обычный селектор:

Если на странице используется другая вёрстка, добавьте ещё один селектор в TITLE_SELECTORS.

Также проверьте, действительно ли возвращённый HTML является страницей товара. Иногда скрипт получает страницу согласия, страницу перенаправления или страницу проверки вместо неё.

Цена отсутствует

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

Именно поэтому скрипт использует оба варианта:

and:

Если оба варианта не срабатывают, сохраните HTML и вручную проверьте раздел с ценой.

Цена отличается от той, что в вашем браузере

Цены на Amazon могут различаться в зависимости от страны, ZIP-кода, места доставки, маркетплейса, cookies и статуса авторизации. Для товара также могут отображаться купоны, ограниченные по времени скидки или разные варианты покупки.

Чтобы уменьшить количество несоответствий:

  • Сохраняйте согласованность региона.
  • Сохраняйте маркетплейс и регион в вашем CSV.
  • Используйте sticky-сессию, если важна согласованность местоположения.
  • Сравните видимый IP и местоположение перед сравнением цен.
  • Используйте таргетинг на уровне ZIP, когда местоположение доставки влияет на результат.

NodeMaven поддерживает точный гео-таргетинг, включая Таргетинг на уровне ZIP, что полезно, когда трекеру нужно сравнить цены Amazon, наличие и варианты доставки из конкретного местоположения покупателя.

Отслеживайте локальные цены Amazon с меньшим числом неудачных запросов

Резидентные прокси NodeMaven помогают Python-скраперам собирать данные о ценах Amazon с более чистыми IP, стабильными сессиями и геотаргетингом для проверки региональных цен. Начните с 750 МБ для $3.50.

Попробовать

Если Requests не может получить доступ к видимому содержимому страницы, Скрейпинг с Selenium может оказаться лучшим вариантом, поскольку он открывает браузер и работает с отрендеренными страницами.

Полный код трекера цен Amazon

Вот полный скрипт.

Как NodeMaven улучшает отслеживание цен на Amazon

Отслеживание цен на Amazon более надёжно, когда скрапер сохраняет постоянное местоположение, чистую репутацию IP и стабильное поведение сессии.

NodeMaven помогает с теми элементами, которые обычно ломают трекеры цен:

  • Резидентские прокси: используйте IP реальных пользователей вместо шумных VPN- или адресов дата-центров.
  • Sticky sessions сохраняйте один и тот же IP при проверке товара, категории или регионального потока.
  • Таргетинг по почтовому индексу сравнивайте цены, варианты доставки и наличие из конкретных местоположений покупателей.
  • Качество чистых IP: сокращение числа неудачных запросов, срабатываний CAPTCHA и ненадёжных ответов страниц.
  • Гибкая настройка: используйте HTTP- или SOCKS5-прокси с Python, инструментами автоматизации браузера или скрапинг-стеками.

Для мониторинга Amazon это означает меньше несоответствующих региональных результатов и более точную историю цен.

Отслеживайте локальные цены Amazon с меньшим числом неудачных запросов

Резидентные прокси NodeMaven помогают Python-скраперам собирать данные о ценах Amazon с более чистыми IP, стабильными сессиями и геотаргетингом для проверки региональных цен. Начните с 750 МБ для $3.50.

Попробовать

Заключение

Простой трекер цен Amazon — полезный первый проект по скрапингу, потому что он показывает весь рабочий процесс: получение страницы, проверку селекторов, извлечение значений, валидацию ответа и сохранение истории цен. Начните с одного-двух товаров, а затем добавляйте планирование, оповещения и рендеринг в браузере только тогда, когда они действительно нужны трекеру. Для Amazon чистые прокси важны, как только вы выходите за рамки тестирования, потому что цена, наличие, сроки доставки и частота CAPTCHA могут меняться в зависимости от качества IP и местоположения. Резидентные прокси NodeMaven помогают сохранять сессии отслеживания более чистыми и стабильными благодаря sticky-сессиям и таргетингу на уровне ZIP.

FAQ

Да. Вы можете создать трекер цен Amazon на Python с помощью Requests, BeautifulSoup и хранения в CSV. Скрипт также должен проверять отсутствующие селекторы, страницы с CAPTCHA и региональные различия в ценах перед сохранением данных.

Это зависит от того, что вы собираете, как вы это собираете и как используете данные. Ознакомьтесь с Условиями использования, учитывайте Product Advertising API для одобренных сценариев использования, а также прочитайте более подробное руководство о том, законен ли веб-скрапинг.

Amazon может показывать CAPTCHA, когда шаблон запросов, репутация IP, заголовки или поведение сессии выглядят подозрительно. Замедлите запросы, изучите возвращаемый HTML, используйте реалистичные заголовки и рассмотрите чистые резидентные прокси, если трекер работает с большим объёмом.

 

Цены на Amazon могут различаться в зависимости от торговой площадки, ZIP-кода, места доставки, cookies, статуса авторизации, купонов и наличия у продавца. Резидентские прокси помогут вам проверять локальные цены с IP из более чем 190 стран с возможностью таргетинга на уровне региона, города и ZIP-кода.

 

Для небольшого ручного теста прокси могут не понадобиться. Для повторяющихся проверок, регионального отслеживания цен или мониторинга большого объёма прокси помогают сохранять более стабильный доступ. Резидентные прокси со sticky-сессиями обычно являются лучшей отправной точкой для мониторинга цен на Amazon.

Резидентные прокси обычно лучше всего подходят для отслеживания цен на Amazon, поскольку они используют реальные IP потребительских сетей. Sticky-сессии помогают сохранять один и тот же IP во время связанных запросов, а таргетинг на уровне ZIP-кода помогает, когда цены и варианты доставки зависят от местоположения покупателя.

Да. Добавьте больше URL-адресов товаров в PRODUCT_URLS список. Начните с небольшого списка, убедитесь, что вывод CSV корректен, а затем постепенно увеличивайте количество товаров.

Вам также могут понравиться эти статьи

Этот сайт использует Файлы cookie чтобы улучшить ваш опыт. Продолжая, вы соглашаетесь на использование файлов cookie.