Как за копейки парсить цены и любые данные на Ozon
В этой статье расскажем, как парсить цены на Ozon. Понадобится Python и серверные прокси. Вы сможете отследить актуальные цены и получить преимущество в поиске выгодных предложений.
Итак, давайте рассмотрим шаги по настройке среды, получению данных и сохранению их в удобном формате, используя командную строку Windows и серверные прокси от Proxys.io.
После чтения руководства вы сможете парсить цены в Ozon с помощью Python, без трат на услуги профессионалов и покупку специальных программ. Поехали!
Подготовка окружения
Для начала убедитесь, что установлен Python. Затем создайте новый файл в вашем текущем каталоге. Для этого:
Откройте командную строку Windows. Вы можете сделать это, нажав Win + R и введя "cmd", затем нажав Enter. Введите:
touch main.py
Установка зависимостей
В командной строке введите следующий запрос для установки необходимых библиотек:
pip install requests pandas
Импорт библиотек
Создайте новый файл Python и добавьте следующий код для импорта библиотек:
import requests
import pandas as pd
Подготовка учетных данных API и прокси
Получите учетные данные API от Proxys.io и убедитесь, что у вас есть арендованные серверные прокси. В командной строке введите:
USERNAME = "ВАШ_ЛОГИН"
PASSWORD = "ВАШ_ПАРОЛЬ"
Этот блок кода с учетными данными API и прокси должен быть внесен в исходный код Python перед парсингом. Вы можете вставить его в верхней части файла компилятора Python.
Получение цен на самые продаваемые товары
Начнем с получения цен на самые продаваемые товары в определенной категории:
def get_best_seller_results(category_id):
payload = {
"source": "ozone_bestsellers",
"query": category_id,
"start_page": 1,
"parse": True,
}
response = requests.post(
"https://realtime.proxys.io/v1/queries",
auth=(USERNAME, PASSWORD),
json=payload,
)
response.raise_for_status()
results = response.json()["results"][0]["content"]["results"]
return parse_price_results(results)
Эта функция отправляет запрос к API Proxys.io для получения цен на самые продаваемые товары в указанной категории на сайте Ozone. Она использует учетные данные (логин и пароль), чтобы аутентифицироваться при отправке запроса. Полученные данные о ценах обрабатываются и возвращаются в виде списка словарей.
Получение цен из результатов поиска
Далее извлечем цены из результатов поиска на Ozone:
def get_search_results(query):
payload = {
"source": "ozone_search",
"query": query,
"start_page": 1,
"parse": True,
}
response = requests.post(
"https://realtime.proxys.io/v1/queries",
auth=(USERNAME, PASSWORD),
json=payload,
)
response.raise_for_status()
results = response.json()["results"][0]["content"]["results"]["organic"]
return parse_price_results(results)
Эта функция отправляет запрос к API Proxys.io для получения цен на товары в результате поискового запроса на сайте Ozone. В запросе указывается источник данных как "ozone_search", передается поисковый запрос, номер страницы поиска (1) и флаг разбора данных (parse). После получения ответа, данные о ценах извлекаются из структуры ответа и передаются функции parse_price_results() для обработки.
Получение цен для других категорий
Получим цены на сделки в определенной категории на Ozone:
def get_deals_results(url):
payload = {
"source": "ozone",
"url": url,
"parse": True,
}
response = requests.post(
"https://realtime.proxys.io/v1/queries",
auth=(USERNAME, PASSWORD),
json=payload,
)
response.raise_for_status()
results = response.json()["results"][0]["content"]["results"]["organic"]
return parse_price_results(results)
Эта функция отправляет запрос к API Proxys.io для получения цен на товары, представленные в специальных предложениях на сайте Ozone. В запросе указывается источник данных как "ozone", передается URL-адрес страницы с предложениями и флаг разбора данных (parse). После получения ответа, данные о ценах извлекаются из структуры ответа и передаются функции parse_price_results() для обработки.
Сохранение в файл CSV
Наконец, сохраните полученные данные в CSV-файлы:
dog_food_category_id = "ID_КАТЕГОРИИ"
best_seller_results = get_best_seller_results(dog_food_category_id)
best_seller_df = pd.DataFrame(best_seller_results)
best_seller_df.to_csv("best_seller.csv")
search_results = get_search_results("поиск")
search_df = pd.DataFrame(search_results)
search_df.to_csv("search.csv")
deal_url = "ССЫЛКА_НА_СДЕЛКИ_НА_OZONE"
deal_results = get_deals_results(deal_url)
deal_df = pd.DataFrame(deal_results)
deal_df.to_csv("deals.csv")
Здесь мы выполняем парсинг цен на товары из разных источников на сайте Ozone. Давайте рассмотрим каждую часть:
dog_food_category_id = "ID_КАТЕГОРИИ":
Мы определяем идентификатор категории товаров на сайте Ozone. В данном случае используется категория товаров для собак.
best_seller_results = get_best_seller_results(dog_food_category_id):
Мы вызываем функцию get_best_seller_results(), передавая ей идентификатор категории товаров для собак. Эта функция отправляет запрос к API Proxys.io для получения цен на самые продаваемые товары в указанной категории.
best_seller_df = pd.DataFrame(best_seller_results):
Полученные результаты обрабатываются и преобразуются в формат DataFrame с использованием библиотеки pandas.
best_seller_df.to_csv("best_seller.csv"):
Преобразованные данные сохраняются в CSV-файл "best_seller.csv".
search_results = get_search_results("поиск"):
Мы вызываем функцию get_search_results(), передавая ей строку поискового запроса. Эта функция отправляет запрос к API Proxys.io для получения цен на товары, соответствующие поисковому запросу на сайте Ozone.
search_df = pd.DataFrame(search_results):
Полученные результаты обрабатываются и преобразуются в формат DataFrame.
search_df.to_csv("search.csv"):
Преобразованные данные сохраняются в CSV-файл "search.csv".
deal_url = "ССЫЛКА_НА_СДЕЛКИ_НА_OZONE":
Мы определяем URL-адрес страницы с предложениями на сайте Ozone.
deal_results = get_deals_results(deal_url):
Мы вызываем функцию get_deals_results(), передавая ей URL-адрес страницы с предложениями. Эта функция отправляет запрос к API Proxys.io для получения цен на товары, представленные в специальных предложениях.
deal_df = pd.DataFrame(deal_results):
Полученные результаты обрабатываются и преобразуются в формат DataFrame.
deal_df.to_csv("deals.csv"):
Преобразованные данные сохраняются в CSV-файл "deals.csv".
Результат
Когда сохраняем данные в CSV-файл "deals.csv", то получаем таблицу с информацией о ценах на товары, представленные в специальных предложениях на сайте Ozone. Этот файл можно открыть с помощью любого текстового редактора или программы для работы с таблицами, например, Microsoft Excel или Google Sheets.
Примерно, в таблице "deals.csv" мы увидим следующие столбцы:
price (цена): Цена товара в указанной валюте.
title (название): Название товара.
currency (валюта): Валюта, в которой указана цена.
Теперь, когда вы знаете, как парсить цены в Ozone, вы можете начать экономить время и деньги, используя этот метод для вашего шопинга. Мы же всегда поможет с арендой прокси для парсинга.